Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
gnumeric
gnumeric
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 376
    • Issues 376
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 2
    • Merge Requests 2
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • GNOME
  • gnumericgnumeric
  • Issues
  • #502

Closed
Open
Opened Jul 02, 2020 by Morten Welinder@welinderMaintainer

Retune Dependency Bucket System

The current dependency bucket system was designed in an era of 64k row sheets. At that time each bucket covered 128 rows for a total of 512 buckets.

Much larger sheets are being used now, 1M row sheets being common. That used to mean 8k buckets, but the bucket size was increased to 1024 so a 1M row sheet now uses 1024 buckets. The sheets are obviously somewhat sparse, but formulas like =SUM(A:A) span the whole thing regardless and they are common. Such a formula will be added to every bucket which can add up rather quickly.

A quick look at the state of spatial search algorithms suggests no obvious choice for a replacement. None of them appear to be designed with lots of objects than span Maine to Hawaii in mind.

Edited Jul 02, 2020 by Morten Welinder
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: GNOME/gnumeric#502