[fpc-pascal] Is there a StringRefCount() equivalence?

Juha Manninen juha.manninen at phnet.fi
Fri Apr 30 23:53:42 CEST 2010


> There are use cases for this.
> A while ago I thinking about a string-hash table as a cache for strings.

I have done that. Then I needed to inspect the reference count for debugging 
and configuration purposes. I didn't know there is StringRefCount() function 
so I also counted the string type offsets.

The application itself was an optimized, minimalistic in-memory DB, supporting 
only string type.
It worked together with VirtualTreeView and clever indexing of linking fields 
to build a tree structure dynamically. It could keep and browse huge amounts 
of data without any visible delays.
A laptop with 1 GB memory could handle a big company's PDM (Product Data 
Management) DB field contents in memory. It means around million records and 2 
million relations. The data could be searched and the results always came in 
1-2 seconds, no matter if there are 10 or 100000 matches.

I could port it from Delphi to Lazarus and publish a component based on that 
work. It is made on my ex-employer's company time but the program is dumped 
and nobody maintains it (or even knows about Delphi). So, nobody would care 
If only I could find a big tree-data to demonstrate it.


More information about the fpc-pascal mailing list