[fpc-devel] Who maintains TDictionary? // Re: RFC: Improvements for TDictionary and other hash containers
Martin Frb
lazarus at mfriebe.de
Sun Apr 13 21:17:21 CEST 2025
On 13/04/2025 20:43, Michael Van Canneyt via fpc-devel wrote:
>
> But why don't you simply use a TList<TRange> with your custom comparer ?
> You can then use List.BinarySearch() and retrieve the existing TRange
> at once?
>
> Your solution seems quite hackish to me. So if you really need it in
> TDictionary, make it protected as you indicated...
Because there may be several 10000 entries (ok extreme case, I get 40000
entries, after scanning several 100 files).
And entries are added over time.
When adding a new entry, the list must be sorted again. That is the slow
part.
The old code used an AVL tree.
That is fine.
But uses more memory, that the TDictionary (even with the double pointer
storage).
AVL tree, needs Left/rigt/balance, and because the range is not inheriting
More information about the fpc-devel
mailing list