[GNC-dev] Performance regression loading account

Maarten Bosmans mkbosmans at gmail.com
Sun Mar 12 16:28:02 EDT 2023


Hi all,

When testing the 4.902 flatpak, I noticed that loading an account
takes several (~4.5) seconds. This account has about 24k transactions
and loads in less than half a second on the GnuCash 4.8 from my
distribution. Is this a regression because of a code change, or
perhaps simply the result of a debug build in the flatpak?

>From the attached flamegraph you can see that a lot of time is spent
in `g_utf8_collate` for the quickfill insert. That function does not
appear below `gnc_quickfill_insert` for the 4.8 run. I did a quick
search in the git history to see that may be some caller was changed
to the `QUICKFILL_ALPHA` sort method, but could not easily find such a
thing.

Another difference with 4.8 is stat `gnc_table_realize_gui` (which
takes 0.85s) does not appear below
`gnc_plugin_page_register_create_widget` and that function only takes
0.03s in total. This time seems to be spent in Gtk.

I don't think this is a release blocking bug, but GnuCash feels quite
sluggish to me, so it would be nice to fix this papercut before 5.0.
Any pointers on how to proceed?

Maarten
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 92157 bytes
Desc: not available
URL: <http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20230312/2a407387/attachment-0001.png>


More information about the gnucash-devel mailing list