Update: have added timings for N=100,000 (or thereabouts), which equates to 87,000 or so open issues.
Roundup 0.7 includes some new optimisations, specifically automatic generation of a number of table indexes in the RDBMS backends.
I've added a script "tools/load_tracker.py" which loads a tracker with N issues and N/100 users. Random distribution of priorities, statuses and assignetos. Approximately 85% of issues are open (ie. 17 in 20, 170 in 200, etc).
Against a stock classic tracker, loading the standard index page (sort by activity, group by priority, showing batches of 50 issues at a time):
| Backend | N | Index Page Time |
| anydbm | 200 | 3.5s |
| sqlite | 20,000 | 1.1s |
| 100,000 | 4.5s (9.4s) |
| metakit | 20,000 | 1.9s |
| 100,000 | 8.4s (18s) |
| mysql | 20,000 | 1.3s |
| 45,000 | 2.1s |
| 65,000 | 3.3s (5.7s) |
| postgresql | 20,000 | 1.1s |
| 75,000 | 2.7s |
| 100,000 | 4.1s (5.7s) |
Note:The second (bracketed) values indicate the time for a concurrant index page view (I press reload in a second browser window shortly after requesting the first). The sqlite and metakit backends serialise accesses, so their second access time is understandably doubled.