There are two parts, retrieving them from global.db and storing them into a memory structure (and using the huge amount of data). For every kind of sorting, all records in the database need to be queried to be able to sort them all according to the sort-criteria. After that the LIMIT/OFFSET are applied. I am not sure what is causing the longest delay, reading all data from the database or having a lot of items in the internal memory? Some measurements should clear this up.

That's the part I can't understand... whay can we use sqlite SORT, OFFSET and LIMIT clauses?
SELECT xxx FROM yyy WHERE zzz SORTBY sort OFFSET ooo LIMIT lll;?

I took a look at that code some time ago and maybe I can't remember properly...

Quote:

Originally Posted by Mackx

I already took a quick look, it indeed seems easier to program in vala then plain C.