feature request: implement performance timer(s), ( with proof of concept ),
There are at least two scenarios where - IMHO - some timing / metering is
useful:
- developers judging between different options to implement / improve anything,
- users comparing different options to design their sheets,
I'd ask for / proposed a recalc timer at several occasions, now made a primitive
one by myself.
Apply attached patchsrc/dependent.c_recalc_timer_patch,
re- 'make' and 'sudo make install' ( it's sufficient to do that in the 'src' subdir ),
start gnumeric from a terminal, and get a time used for recalc printed there every
time you press >F9<.
Reported because:
- I'm sure pro developers can do better, e.g. add. catch load and save times,
use better timers suppressing background load, display results in toolbar ... - As a tip for others who'd like to have s'thing like this, it's possible and
not overwhelming difficult, three lines in one file.
How to use: Think I want to implement a function making the 'nextafter'
available in sheets, or the distance to them the 'granularity' or 'ULP', there
are different options to do, implement in goffice or gnumeric directly, use
'nextafter' or multiplying with / dividing by 0.9999999999999999, add / subtract
5E-324 for subnormals, even bitstring manipulations and masking ...
code the different options, make sheets with some thousand cells calling either,
load, recalculate, and compare times used. Up yet I did that with a stopwatch
observing the CPU activity display in XFCE desktop, think above provides better
results. Actually get reproducible:
last recalc took: 1.837438
last recalc took: 1.683844
last recalc took: 1.480199
for above questions and consider that useful.
Restriction: it's only valid to compare things on one specific machine at one
specific time. Compares to other systems or after even minor system changes are
only vague hints.
Add info: wbc-gtk-actions.c has some TODOs listed to implement selective recalc.