On Mon, 27 Dec 1999 20:20:08 PST, the world broke into rejoicing as
Rob Walker <[EMAIL PROTECTED]>  said:
> 
> >>>>> On Mon, 27 Dec 1999 23:02:00 -0500 (EST), Russell Nelson
> >>>>> <[EMAIL PROTECTED]> said:
> 
> Russell> Christopher Browne writes:
> >> On 27 Dec 1999 11:37:07 EST, the world broke into rejoicing as
> >> Derek Atkins <[EMAIL PROTECTED]>  said:
> >> > I'm not sure I like the model of "one directory per transaction."
> >> > After a while, especially with a busy set of accounts, this can amount
> >> > to thousands (or in the case of a business, even millions) of
> >> > transactions.  It just doesn't scale very well.
> >> 
> >> If it forces decoupling engine from front end, thus making it easier
> >> to attach a highly scalable DBMS to GnuCash, That's A Good Thing.
> 
> Russell> Oh gack.  Why don't we just have a transaction store API, and
> Russell> an implementation that works for a thousand transactions, and
> Russell> leave anything more as an exercise for the Open Source
> Russell> reader?
> 
> I agree with russell.  I don't want us to make the most highly
> scalable thing in the world.  I want something which will get us to
> quit using quicken, and to be better than Quicken, but not to scale
> more than the world's greatest thing ever seen.

The problem is that there are two visible performance bottlenecks
in GnuCash:

a) The fact that it has to read all transactions in the entire
set of books into memory at load time, and to dump every single
transaction out when it saves, and

b) The fact that the register must similarly build a GTK object
representing all transactions in the specified account.

These are causing the slowdowns that people notice when working
with a couple years worth of data.

And an appropriate way to resolve the bottlenecks is to eliminate
them, using data structures that permit random access.

The necessary techniques should allow GnuCash to scale to vastly
larger datasets.

I see two things:
a) A necessity to break some bottlenecks, and
b) An opportunity to make the software greatly more scalable.

It makes sense to do both at once.
--
"The Linux  philosophy is laugh in  the face of  danger.  Oops.  Wrong
One.  'Do it yourself.'  That's it."  -- Linus Torvalds
[EMAIL PROTECTED] - <http://www.hex.net/~cbbrowne/lsf.html>

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]

Reply via email to