Hi, > 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 really. If only I could find a big tree-data to demonstrate it. Regards, Juha _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal