[GNC-dev] Performance regression loading account

Maarten Bosmans mkbosmans at gmail.com
Mon Mar 13 12:08:22 EDT 2023


Op ma 13 mrt 2023 om 12:27 schreef Robert Fewell <14ubobit at gmail.com>:
> I am curious how you created that graph?

With Intel VTune. That's the software I know to use for $DAYJOB
(mainly HPC related stuff). I think there are also several free
software options available to produce flame-graphs based on profiles
recorded by perf.

> Also can you build 4.903?

I've been putting off building GnuCash myself for now, but I think
will have to do that at some point in the near future, so I'll retry
it once I get around to doing that.

> I am wondering if it is down to the sorting of the list store, by default gnc_item_list_new has sorting enabled so on every entry the list will be sorted.
> I wonder if it was disabled and in gnc_split_register_load we enabled the sorting at the end after all entries added it would improve the situation.
> I only have 719 transactions for an account in my test file so not sure I will see the difference.

Ah, yes. If I remeber correctly from the Gtk2 era, there was some
advice for disabling list sorting temporarily when inserting a large
number of items.
Although, I would have to check which gtk call in `gnc_item_list_new`
is the culprit here.

Maarten


More information about the gnucash-devel mailing list