Speeding up of some List displays

As a user that opens the list display such as Sources, 200 times a session… Each time the “load” it takes a full second or more.
Is there a way to speed up the display of the list? This could save 200 seconds and relieve some frustration.
The list might change once per session, however, could this not stay in memory that you can get an immediate display on the screen???
Only if there has been a change to the sources would it need to “load”.
This would also apply to the Places list also. There may be other lists, but those for me are the most used.
Is it possible with the current coding? I know with an SQL back end, the data would be kept in memory so a query would not be required. (I’m not a coder).

Try adding the new Filter+ gramplet (an Isotammi addon) allows empirically measuring the refresh of the view.

Each time you click “Find” (even if there are no filtering parameters set) measures how long the view takes to find the data.

It would be interesting to discover if there is a lag due to the initialization of the view that doesn’t affect successive refreshes.

Without knowledge of your workflow, are opening the Sources view or the Citation Tree view? The Citation Tree is not actually a source view even though it appears in that navigation. As you add citations, that list changes when the source list does not.

Do you utilize the floating clipboard? If you are repeatedly using the same set of sources during a session, copy them to the clipboard. Then you can dnd the source into its tab and allows immediate ability to add the citation.

When adding Source Citations to an event, utilizing the Add Existing… option becomes first and foremost a search for the Source. This is true if the source information is not repeated in the citation field.

If you are repeatedly looking for the citations under a particular source, temporarily add a tilde (~) to the from of the source title. When you use the existing Source Citations option, that source will be at the top of the list allowing you to search for its citations.

And lastly, what is your ratio of Sources to Citations. Today I have 2,206 sources, 77,540 citations. Do you have Source titles that some of that information could better be stored in the citation. i.e. is you source U.S. 1950 Census, or a series of U.S. 1950 Census California, …Massachusetts, …New York, etc

In Gramps 5.2 the Abbreviation field is added to the search function when adding citations under a tab. I use this field to organize similar sources when their names do not see them grouped together. Something to think about and maybe plan for.

Of course, this is what works for me.

Thanks for the suggestions. I’m on a Win10 box running 5.1.6
I tried the Filter+ on the Source list (628 entries) and got a response time of 1.05s (no parm), if add a parm it is 1.13s. I have 17,051 Citations

I use the clipboard mostly for the Place names when entering data which I limit to about 10 items to keep the clipboard window small and in the top right corner of GRAMPS. GRAMPS takes up 1/2 of my screen while the Chrome browser takes up the other half. Keeping the windows visible is how I like to work.
When entering an event with source and citation, I can search for the Source usually by just entering 6 character such as 55-2019 which will find me Scotland, Modern And Civil Births 1855-2019.
For one person I may be accessing 10-15 sources each, so keeping them in the clipboard which already has 10 Place names in it does not work for me. I do drag events from one person to the other when they are the same, such as a Census record.
My reason for the above question, when I click on the Add from Existing icon, I have to wait 1.05s each time before I can paste the “55-2019” into the field to start the query. Yes, I have tried not waiting, but it gets confused sometime, so I have just learned to wait.

When I do this, in Linux Mint, on a machine with 16 GB RAM, on which I also run Windows 10 inside VirtualBox, that I allow to use 8 GB, and 4 cores, I see no delay in any view, in any instance of Gramps, meaning that one runs in Linux Mint, and the other in Windows 10, so it does not look like a generic Gramps problem, or a Windows problem for that matter. This is on a machine with a Ryzen 7 CPU, where Linux Mint and the Windows 10 VM both run on the same SSD.

Now this may not say much, because the number of citations in my tree is 5,675, so it’s a third of what you have, and I have no idea about your CPU, or your available RAM. But I can tell you that on the host, even in a tree with more than 600,000 persons, switching views is fast. and only the initial load of the person list takes a few seconds.

This suggests that your Windows 10 machine may be quite low on memory. Can you give us some specs?

Windows 10
CPU Speed 2.79 GHz
Cores 4
Memory 8GB

Weird. I just moved to my laptop, Windows 10 pro, i5 mobile running at 2.6 GHz, 2 real cores, 4 virtual ones, 8 GB RAM, and a real metal in my HDD, and imported my own tree 3 times to get similar numbers as you have, with 46,000 persons, and 17,000 citations.

And once all views are loaded, switching views is almost instantaneous, meaning that it takes like a tenth of a second. And that’s with Firefox eating away more than 1 GB RAM.

I’m using Windows defender, so there is no slow 3rd party virus scanner running, and no OneDrive either, because I use MEGA.

Do you have any Gramplets running in the sidebar? I only have the Filter Gramplet, with no active filter.

Let me clarify. If I use the side menu to select any of the items, the list is displayed immediately.
The issue is within a Person record while adding a Source to an event.
@ennoborg you and I worked on a similar issue with my Place data. It was fixed when we reconfigured the data layout.

Using the side menu, it only displays 628 items, however when in the People->Source display is opened, it is loading 17,064 records. (the display can be expanded under each item to see what other items it is linked to).

I tried the examplegramps DB.
If I do the same operation for a person there, the screen opens and fills with minimum delay.
That DB has only 4 sources and 2854 citations.

I think there needs to be an option to NOT load the citation references in that display each time it is opened. (for speed). The problem will continue to get worse as more citations are added.

What is the performance with people that have 600,000 people in their DB???

There are other clipboard options. Collection Clipboards can be loaded in both the Side- and Bottombars. If either of these are open in your active view, additional objects can be stored. These have the advantage of not being an open floating window, although than can be dragged off their bar to float.

Monitor real estate can be an issue.

The list view data is loaded into memory when you first open the view. It is only reloaded from the database if a batch operation signals that a large change has been made.

The selection dialogs load the data each time they are opened.

OK, now I finally understand what you mean. I understood lists as the ones that I select with the side menu, but what you actually mean is a selector. And that is most likely loaded in its own memory, even if the data are already available in one of the views.

That big database is a Karel de Grote GEDCOM, that I once found on the web. It’s off-line now, and it was created with PAF. It has almost no sources, and less than 100,000 notes. And in fact, when I load it in PAF, it is very fast, even on a 20 year old laptop with only 64 MB RAM running Windows 2000. And yes, those are MegaBytes, not GigaBytes. PAF is very fast in such an environment.

I use this GEDCOM for reference, and on my desktop, it loads in much less than a minute. The import was slow, like a quarter of an hour, and filtering the person view takes a few seconds. It becomes very slow when I open the Deep Connections Gramplet, which can take almost a quarter of an hour when the connection is distant, like 25 steps.

You can see it on Geneanet at

and I put it there because GeneWeb is very fast, when it comes to connections. It does the same as the Deep Connection Gramplet, and more, in about one second, and it also has the advantage that I can use it as a reference while having my main tree open in Gramps.

Doug Blank’s posting is pertinent:

1 Like