sc-perf: avoid repeated TrackFormulas() during bulk broadcast, tdf#87101 rel.
Multiple callers involved. Most significantly ScDocument::Broadcast() calls ScDocument::TrackFormulas() individually. Track/collect pending formula cells at the end of the bulk broadcast instead, which gives an instructions read speedup by factor 6 for the broadcast, and an overall speedup in the scenario for inserting the rows by factor ~2 wall clock time. ScDocument::InsertRows() Before, Ir Incl: 282,227,033,656 After, Ir Incl: 66,307,994,805 With cycle detection: ScDocument::TrackFormulas() Before: Ir Incl Ir Self 66,981,644,959 11,913,444,899 After: Ir Incl Ir Self 10,819,556,073 1,973,232,494 Change-Id: I85fe8b03ecb52cffaa6fa14354b3cc3467ecc111
Showing
Please
register
or
sign in
to comment