Skip to content

Calling Tables.istable is too slow if it's not actually a table #322

Description

@rafaqz

Calling Tables.istable ends up at hasmethod as a fallback. (via TableTraits.jl and IteratorInterfaceExtensions.jl)

This is super slow. It can be seen as the big chunk in blue/green in this flame graph. The rest of the graph is rasterizing a whole vector of polygons, which in this case is not a table.

2023-01-22-224421_1920x1080

Is there a way to check if something is a table without this fallback?

The use case here is the object can be a table with the target column (geometries) and some extra columns we may use, or just some iterator of geometries. I dont know a way to separate these other than istable - but the iterators get this overhead because they are not tables.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions