Navigation 2.5.1
Derek Atkins
warlord at MIT.EDU
Tue May 21 12:08:06 EDT 2013
Robert Fewell <14ubobit at gmail.com> writes:
> Theres a lot of talk about the performance of the new register which I know is
> slower and I am sure it can be improved but no one has stated any real
> findings. As I have said before, I am using an under resourced Gentoo Linux VM
> for development and have an account with 4000 entries covering 10 years, not
> sure if thats a lot or not. If I do not specify the number of entries to load,
> and add an entry for last year, it takes about 8 seconds to update. If I set a
> limit of 1000, then it becomes about 1.0 - 1.5 seconds. An easy way to find
> the number of entries for an account is to start gnucash with --debug, open
> the account and then in the trace file search for
> gnc_tree_model_split_reg_load.
I think even 1-1.5 seconds for an entry is "too much". And 8 seconds is
WAY too much. This still sounds like it could be a gui refresh issue.
> I will have a look at the gui refresh stuff but I think some of the delay may
> be with using a single cell data function as oppose to one for each column.
I would try the gui refresh first to see if that helps. If that doesn't
then we can profile the code to see where it's spending its time and
optimize correctly.
> John's idea sounds interesting and may be how this ends up after the wrinkles
> have been sorted.
>
> Robert
-derek
> On 21 May 2013 14:49, John Ralls <jralls at ceridwen.us> wrote:
>
> On May 21, 2013, at 1:54 AM, Geert Janssens <janssens-geert at telenet.be>
> wrote:
>
> > On Monday 20 May 2013 11:28:36 Derek Atkins wrote:
> >>> I've also noticed that the new register is much slower than the old
> >>> one entering and deleting transactions. It takes about 8 seconds
> >>> between accepting a transaction and when the the transaction is
> >>> actually entered and GnuCash is ready for something else. I'm not
> >>> sure what the problem is, but it's annoying.
> >>
> >> Could this just be a failure to disable the gui-refresh while
> >> committing the changes?
> >>
> > That crossed my mind as well.
> >
> > Robert: this may be something to check when you're ready again: did you
> insert
> > gnc_suspend_gui_refresh and gnc_resume_gui_refresh calls at the right
> locations when
> > switching cells ?
> >
> > Without these calls there probably would be a whole explosion of gui
> refresh events while the
> > model is being updated internally.
> >
> > On the other hand it may also be that the GtkTreeView is slower than our
> highly optimized old
> > register code. I remember a comment from Robert somewhere that he got
> good performance
> > when limiting the number of entries in the register to 1000. I don't
> know how well
> > GtkTreeView scales to large datasets.
>
> How hard would it be to limit the number of rows to 3 pages, and to load
> more on a scroll event? We'll
> want that behavior down the road for real database operation so that we're
> not read-locking every split
> in the active account.
>
> Regards,
> John Ralls
>
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
warlord at MIT.EDU PGP key available
More information about the gnucash-devel
mailing list