Performance improvement for xml loads (+comments)

Rob Browning rlb@cs.utexas.edu
18 Dec 2000 08:48:56 -0600


Bill Carlson <wwc@wwcnet.nu> writes:

> diff -r1.5 io-gncxml-r.c
> 2217a2218,2222
> >   /* commit all groups, this completes the BeginEdit started when the
> >    * account_end_handler finished reading the account.
> >    */
> >   xaccAccountGroupCommitEdit (ag);
> > 
> 2599a2605,2609
> >   /* Now return the account to the "edit" state.  At the end of reading
> >    * all the transactions, we will Commit.  This replaces #splits
> >    *  rebalances with #accounts rebalances at the end.  A BIG win!
> >    */
> >   xaccAccountBeginEdit(acc);

I finally got a chance to look at this patch, and it seems good,
though it does change the XML account restorer so that it's no longer
modular -- i.e. running an account restore block now leaves the
account open for editing.

This is not necessarily a bad thing, but it's definitely a change in
(my intended) semantics.  Originally, I had designed things with the
idea that you'd be able to use an <account><restore>... block
"standalone" to restore a single account.  However, you'd still need a
context, so I suppose it's reasonable to just require that the account
restore be nested inside a <ledger-data> (or whatever) block that
handles ending the group's edits.

One thing that does still bother me a bit is that there's an assymetry
for groups now.  We don't have an xaccGroupBeginEdit to balance the
commit edit.  Perhaps we should add one (if nothing else, that will
allow proper nesting - as we do for other objects).

Thanks for the work.

-- 
Rob Browning <rlb@cs.utexas.edu> PGP=E80E0D04F521A094 532B97F5D64E3930