Skip to content

perf(memory): explore compact typed storage and lazy cell stringification for large result sets #605

Description

@ZhuchkaTriplesix

Problem

In large query result sets (e.g. 50,000+ rows x 20 columns = 1,000,000 cells), storing raw numbers as string objects (List<List<String>>) incurs significant heap overhead (~32 bytes per cell due to Dart object headers and String allocation, vs 8 bytes for a 64-bit primitive in TypedData).

Proposed Solution

  • Explore compact columnar or chunked storage for large result sets where primitive numeric types (int, double, num) are retained in primitive form or typed buffers (Int64List / Float64List) and stringified lazily only when rendered in the visible viewport window.
  • Benchmark memory footprint on 100,000+ row datasets and measure UI scroll latency.
  • Add test coverage for lazy formatting and type-aware cell rendering.

Metadata

Metadata

Assignees

No one assigned

    Labels

    performanceTheme parser epic label: performance

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions