[grisbi-bugs] [Grisbi 0001601]: Long list of payees take very long time to be displayed

Grisbi Bug Tracker bugtracker at grisbi.org
Sat Oct 12 09:56:16 CEST 2013


A NOTE has been added to this issue. 
====================================================================== 
http://www.grisbi.org/bugsreports/view.php?id=1601 
====================================================================== 
Reported By:                fpoulain
Assigned To:                pbiava
====================================================================== 
Project:                    Grisbi
Issue ID:                   1601
Category:                   Main
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
OS:                         Autre(Other) 
Unstable Impact:            Yes 
Version OS:                  
Version GTK:                 
====================================================================== 
Date Submitted:             2013-09-25 22:54 CEST
Last Modified:              2013-10-12 09:56 CEST
====================================================================== 
Summary:                    Long list of payees take very long time to be
displayed
Description: 
I use Grisbi for accounting in the April French NGO. We have a long list of
payees. For a long time, displaying the payees is no longer possible due to the
size of the list (> 8000 payees).

It appears that the main CPU effort for displaying payees is due to the sorting
of the GtkTreeModel in src/metatree.c. Indeed, we can pre-sort the payee list,
at C data (low) level, before filling the GtkTreeModel. It runs 100x faster on
my computer, and allows a total payee sorting to be 10x faster, by avoiding many
expansive comparisons at the GtkTreeModel level.

Here is two patches. The first one introduces a pre-sorting feature. The second
one shows some timings. Feel free to test with and without.

I don't have a test-suite. All what I know is that on my .gsb file, there is
more than 8000 payees, and displaying payees take more than 1 minute.
====================================================================== 

---------------------------------------------------------------------- 
 (0003670) pbiava (administrator) - 2013-09-28 17:56
 http://www.grisbi.org/bugsreports/view.php?id=1601#c3670 
---------------------------------------------------------------------- 
Merci pour ton patch. Il va être commité sous peu dans la branche 1.0.x 

---------------------------------------------------------------------- 
 (0003678) pbiava (administrator) - 2013-10-12 08:00
 http://www.grisbi.org/bugsreports/view.php?id=1601#c3678 
---------------------------------------------------------------------- 
En poursuivant mes tests je me suis aperçu que ça supprimait des tiers de
manière importante. As-tu pu faire des tests et le même problème ? 

---------------------------------------------------------------------- 
 (0003679) pbiava (administrator) - 2013-10-12 09:56
 http://www.grisbi.org/bugsreports/view.php?id=1601#c3679 
---------------------------------------------------------------------- 
C'est corrigé. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2013-09-25 22:54 fpoulain       New Issue                                    
2013-09-25 22:54 fpoulain       File Added: sort_payee_list.diff                
   
2013-09-25 22:55 fpoulain       File Added: add_timings.diff                    
2013-09-28 12:00 pbiava         Assigned To               => pbiava          
2013-09-28 12:00 pbiava         Status                   new => assigned     
2013-09-28 17:56 pbiava         Note Added: 0003670                          
2013-10-12 08:00 pbiava         Note Added: 0003678                          
2013-10-12 09:56 pbiava         Note Added: 0003679                          
======================================================================



More information about the bugsreports mailing list