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