[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 10:23:44 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 10:23 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é.
----------------------------------------------------------------------
(0003680) fpoulain (reporter) - 2013-10-12 09:57
http://www.grisbi.org/bugsreports/view.php?id=1601#c3680
----------------------------------------------------------------------
Hum ... je n'ai pas remarqué ça, mais je vais faire des tests la semaine
prochaine.
----------------------------------------------------------------------
(0003681) fpoulain (reporter) - 2013-10-12 10:19
http://www.grisbi.org/bugsreports/view.php?id=1601#c3681
----------------------------------------------------------------------
Ok. Nos messages se sont croisés. :) Par curiosité, c'était quoi ?
----------------------------------------------------------------------
(0003682) pbiava (administrator) - 2013-10-12 10:23
http://www.grisbi.org/bugsreports/view.php?id=1601#c3682
----------------------------------------------------------------------
Pour reproduire tu ouvres la vue des tiers puis tu faits quelque chose et tu
sauvegardes.
J'ai juste ajouté une copie de la liste des tiers pour la liste temporaire car
le fait de la trier modifie la liste d'origine.
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
2013-10-12 09:57 fpoulain Note Added: 0003680
2013-10-12 10:19 fpoulain Note Added: 0003681
2013-10-12 10:23 pbiava Note Added: 0003682
======================================================================
More information about the bugsreports
mailing list