[clang] [clang] Unique the QualType-keyed type pools in a UniquingSet. NFC (PR #221850)
Fangrui Song via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 7 19:02:39 PDT 2026
MaskRay wrote:
> > Similar to [#221620 (comment)](https://github.com/llvm/llvm-project/pull/221620#issuecomment-5567840994)
> > % ct_table.rb '[llvm-compile-time-tracker.com/compare.php?from=45930cef5214e430aa7424cacb07e374a07ead12&to=a019abb9c135b3a6255adbd7d93fdd9119c5b3f0&stat=instructions:u](https://llvm-compile-time-tracker.com/compare.php?from=45930cef5214e430aa7424cacb07e374a07ead12&to=a019abb9c135b3a6255adbd7d93fdd9119c5b3f0&stat=instructions:u)' CTMark geomean `instructions:u`: ๐ข 6 improved (best -0.08%) ยท 2 within noise.
> > Config instructions:u ฯ max-rss
> > stage1-O3 ๐ข **-0.04%** 4.1 +0.16%
> > stage1-ReleaseThinLTO ๐ข **-0.04%** 3.7 -0.17%
> > stage1-ReleaseLTO-g -0.03% 2.4 +0.04%
> > stage1-O0-g ๐ข **-0.08%** 5.1 +0.02%
> > stage1-aarch64-O3 ๐ข **-0.03%** 3.0 +0.09%
> > stage1-aarch64-O0-g ๐ข **-0.07%** 3.4 -0.09%
> > stage2-O3 -0.04% 2.1 +0.05%
> > stage2-O0-g ๐ข **-0.08%** 3.7 +0.09%
> > Building clang itself (stage2, ThinLTO):
> > Metric Old New ฮ ฯ
> > instructions:u 19123148M 19107846M ๐ข **-0.08%** 3.8
> > wall-time 326.61s 327.96s +0.41% 0.5
> > size-file 136939KiB 136935KiB -0.00% โ
> > size-file (stage1) 155034KiB 155034KiB 0.00% 0.0
> > Per-benchmark `instructions:u` (bold = beyond noise)
> > Benchmark s1-O3 s1-ThinLTO s1-LTO-g s1-O0-g s1-a64-O3 s1-a64-O0-g s2-O3 s2-O0-g
> > kimwitu++ -0.03% -0.09% -0.09% -0.16% -0.03% -0.07% -0.08% -0.10%
> > sqlite3 -0.03% -0.02% +0.02% -0.03% -0.00% -0.06% +0.00% -0.04%
> > consumer-typeset **-0.04%** -0.01% -0.02% **-0.06%** -0.03% -0.04% -0.01% **-0.05%**
> > Bullet **-0.11%** **-0.11%** **-0.11%** **-0.19%** **-0.13%** -0.15% **-0.12%** **-0.20%**
> > tramp3d-v4 -0.10% -0.03% -0.01% -0.08% -0.03% -0.15% -0.07% -0.10%
> > mafft -0.00% -0.01% **-0.12%** **-0.10%** -0.02% -0.07% -0.02% **-0.09%**
> > ClamAV -0.01% -0.01% +0.01% **-0.05%** -0.01% -0.02% -0.01% **-0.05%**
> > lencod -0.03% **-0.04%** +0.02% **-0.05%** -0.02% -0.05% -0.01% **-0.05%**
> > SPASS -0.03% -0.01% +0.02% -0.04% -0.02% -0.03% -0.03% -0.07%
> > 7zip -0.06% -0.03% -0.03% -0.07% -0.05% -0.04% -0.06% -0.05%
> > **geomean** **-0.04%** **-0.04%** -0.03% **-0.08%** **-0.03%** **-0.07%** -0.04% **-0.08%**
> > [Compile-time tracker](https://llvm-compile-time-tracker.com/compare.php?from=45930cef5214e430aa7424cacb07e374a07ead12&to=a019abb9c135b3a6255adbd7d93fdd9119c5b3f0&stat=instructions%3Au) ยท [`45930ce` โ `a019abb`](https://github.com/llvm/llvm-project/compare/45930cef5214e430aa7424cacb07e374a07ead12...a019abb9c135b3a6255adbd7d93fdd9119c5b3f0) ยท ๐ข/๐ด = |ฮ| โฅ 3ฯ of the tracker's measured run-to-run noise, reported as ฯ for `instructions:u`.
>
> The number looks not so great? As some metrics got improved but some other metrics got worse?
Nothing regressed. Every config's `instructions:u` geomean is negative (green -> better).
UniquingSet and FoldingSetBase have identical node layout, bucket arrays and heap allocation. In this case `max-rss` metrics are just noise.
https://github.com/llvm/llvm-project/pull/221850
More information about the cfe-commits
mailing list