On zondag 6 augustus 2017 16:46:24 CEST Sam McCoy wrote:
> I have noticed the time it takes to load all the modules when starting
> up Gnu Cash. Many of these modules have names that suggests they
> support business activities. I believe there are many users (loke me)
> that use gnu cash strictly for personal finances. I would therefore
> like to suggest to the developers that a smaller version of Gnu Cash be
> considered that would be sans business support, i.e invoicing, customer
> db, etc. The resulting module would be smaller and load more quickly.
> Thanks for providing me with the best damn program on planet earth.
> Al Trudeau
I'm happy you enjoy using gnucash.
As to your suggestion I am about to integrate some code changes that drop the
separate business modules and integrate all of that code into the core of
gnucash. Rather the opposite of what you are asking. The reason for this is
that most of the business functionality is already part of the gnucash core.
The only things still in the loadable modules you see at startup were some gui
related bits and pieces.
Instead I would like to ask: have you actually timed the loading of the
business modules in the whole of the startup time ? I have my doubts whether
removing them will have a noticeable improvement on the load performance.
Having said all that however, I do agree it would be very nice to improve the
load performance. John Ralls has looked at this in the past and from that work
I remember most time is lost because gnucash makes plenty of jumps between c
code and guile code, not due to the loading of one random module in itself.
Work is on the way to improve this, but we're not there yet. There are several
aspects that are planned in this respect:
1. the use of guile will be reduced in the core
2. module loading will probably be revisited at some point
3. the long term goal is to make gnucash a database driven application, to
eliminate the slow load time of the data file itself
gnucash-user mailing list
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.