File loading significantly slowed down in r13460

Chris Shoemaker c.shoemaker at cox.net
Sun Mar 5 18:20:20 EST 2006


On Sun, Mar 05, 2006 at 02:39:26PM +0100, Christian Stimming wrote:
> Chris,
> 
> as I already wrote in that other msg: The loading of a file has significantly 
> slowed down after the most recent commits. I've verified this speed change to 
> be introduced in the -r 13458:13460 change (13459 doesn't compile), although 
> both versions don't completely compile due some symbol changes. But in 13458 
> everything is as before, and in 13460 file loading is slower by a factor of 
> two.
> 
> That isn't an immediate error, but it's annoying nevertheless, because somehow 
> we got along faster than we do now.
> 
> Should I track this down in more detail, like obtaining a function list of 
> cachegrind? Or is it already obvious for you where the problem might be?

Oh, I have a pretty good idea what this is all about.  I don't seem to
have any noticable time difference in my tests, but I knew there would
be a cost when I wrote it, and I marked it FIXME.  From
xaccSplitCommitEdit():

    mark_acc(acc);
    //FIXME: should really be in xaccAccountCommitEdit
    xaccAccountSortSplits (acc, TRUE);
    xaccAccountRecomputeBalance(acc);

This is forcing a resort of the splits after every
xaccTransCommitEdit.  That's really incorrect, but let me just make
sure that resorts are happening in all the right places before I
remove that.

-chris


More information about the gnucash-devel mailing list