Draft: cclasses.TFPHashList revamp.
(#39500) This significantly improves cclasses.TFPHashList
characteristics, but has yet to be tested with symansistr
in particular.
Their total memory usage (not counting string pool whose consumption is more or less unchanged) is reduced to 1/2 to 2/3 of the old value (8 Mb reduction in my case), and I have seen 30 ms difference in their operation timings out of 6 s of total compilation time which is 0.5%.
Also I have removed FStrs
, as pooled shortstrings are now non-moveable and can be referenced by pointer. This should even give another speedup (especially for TFPHashObject
), which is, however, hard to meaningfully measure.
Edited by Rika