[Lazarus] In search of a component for holding a table of strings

Werner Pamler werner.pamler at freenet.de
Tue Jan 10 01:07:55 CET 2017


> An empty cell occupies only a nil pointer.
It may sum up, though, if the table is large and sparsely populated.

> Mind you that when you do not know the dimensions of the table AND you
> have to increase ColCount several times whilst filling the table, then
> I suspect things will slow down significantly, because each increase
> of ColCount requires RowCount times a SetLength on each row (which
> means re-allocating the entire row).
Ah - that's the explanation: you did your test with a predimensioned 
table? Mine started with an empty table, and with every new cell the 
tree sorts the new cell to the correct location and rebalances itself. 
It would be interesting to compare with your table in the same way.

> I think dealing with spreadsheets needs a component that scales well.
> I got an EOutOfMemory on a 10000x5000 table (for which I also had all
> strings in memory a second time though).
I don't think so, usually spreadsheets are much smaller (or people are 
abusing spreadsheets as a poor-man's database). Max column count of 
LibreOffice, BTW, is 1024.


More information about the Lazarus mailing list