Skip to content

Draft: cclasses.TFPHashList revamp.

Rika requested to merge runewalsh/source:vihash into main

(#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

Merge request reports