Performance improvement for xml loads (+comments)

Bill Gribble grib@gnumatic.com
Thu, 7 Dec 2000 18:08:31 -0600


On Thu, Dec 07, 2000 at 06:36:58PM -0500, Derek Atkins wrote:
> So the question is: are these data files meant as a storage backend
> for GnuCash, or are they meant for users to interface to directly?  I
> think some people here are in the latter camp, while I am firmly in
> the former.

Both.  One of the reasons we chose a text file format was that MANY,
MANY users have very serious problems with any application that has a
non-text save-file format.  "That's MY DATA, don't you go hiding it in
a binary file!".

People like to use grep on their data files, and all the other
standard unix tools.  Text data file formats are an important
component of the spirit of the free software movement; the application
is just the custodian of the data, which belongs to the user, and the
application shouldn't lock the user into using it to get access to his
or her data.

Binary file formats make people mad.  Including me.  They're just
another thing that we developers have to make excuses for, and I don't
want to have to make excuses for a binary data format, because I think
it's a bad idea.

You have complained about 3 things: memory footprint, file size, and
speed.  These are *all* implementation difficulties that are being
worked on.  Using a GCache or other string ref counter in the XML
reader/writer will make a huge difference in the memory footprint, and
improve the speed.  The file size problem is eliminated with zlib on
the XML backend.

You seem to be technically capable and motivated, so I hope you will
contribute to gnucash, but I wish you would find another problem to
solve.  

Thanks,
Bill Gribble