Skip to content

perf: a batch of small optimizations #4917

Description

@lukecotter

I've been profiling Tabulator on large datasets and ended up with a handful of small, self contained performance PRs. Each one is behaviour preserving and stands on its own, but they're related so I figured a short overview in one place would help.

The PRs:

Everything was measured against master (9539446). A few of these move real grid work noticeably: with all of them applied, a typical render → sort → filter pass over 20k rows went from ~56ms to ~30ms (roughly 1.8× faster), mostly from the render and sort paths. The rest are smaller wins that are clear in isolation but negligible in a full grid render. I've called that out on each PR so it's obvious where the actual impact is. I also have numbers for a 250k row table which I will add asap.

Each PR has its own before/after numbers in the description. Happy to share the benchmark scripts or tweak anything. No rush, merge in whatever order works for you.

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