IMPORTANT Patch for performance; please test and port to g2 branch.
Linas Vepstas
linas at cvs.gnucash.org
Sun May 30 15:32:01 EDT 2004
Log Message:
-----------
IMPORTANT Patch for performance; please test and port to g2 branch.
This patch fixes some, not all, of the problems discussed in
http://bugzilla.gnome.org/show_bug.cgi?id=120028
The performance problem occurs when there are large numbers of
accounts in the account tree (for example 600 or more). This patch
fixes performance problems with transaction editing and register
updates.
There are four calls to gnc_load_xfer_cell(), which is called twice by
gnc_split_register_load_xfer_cells() which is called by
gnc_split_register_load() in register/ledger-core/split-register-load.c
These calls should have been protected by if (info->first_pass)
so that they'd be called only when the register is first opened,
instead of each transaction update. I just moved these to
a more correct location in that routine, and surrounded by
the fisrt_pass test, and it seems to make a huge difference in
performance, and it seems to still work correctly.
Modified Files:
--------------
gnucash/src/register/ledger-core:
split-register-load.c
More information about the gnucash-patches
mailing list