Home - ruijiefang/llvm-hcs GitHub Wiki
Welcome to the llvm-hcs wiki!
mozilla-central
Benchmark Results on Baseline
Talos benchmark mean: 1015.8 seconds Talos benchmark median: 1015.0 seconds
PGO+naive HCS
Number of cold regions: 152048 Number of extracted regions: 69444 Number of blocks with small penalty: 79612 Number of inlined functions: 4523555 Talos benchmark mean: 961.3 seconds Talos benchmark medean: 961 seconds
PGO+Inliner calls HCS
Number of cold regions: 157166 Number of extracted regions: 72166 Number of blocks with small penalty: 81833 Number of inlined functions: 4531517 Talos benchmark mean: 959.4444444444445 seconds Talos benchmark median: 959.0 seconds
HCS + Splitting blocks with small, negative benefit-penalty values
-Os:
Delta | Size (including dynamic libraries) |
---|---|
D59715 | 2.184796592 GB |
0 | 2.188262032 GB |
5 | 2.206931464 GB |
-O3:
Delta | Size (including dynamic libraries) |
---|---|
-2 | 2.270277648 GB |
0 | 2.247788640 GB |
D59751 | 2.243288440 GB |
2 | 2.259242024 GB |
5 | 2.270277648 GB |
Inliner+HCS | 2.29243826 GB |
Benchmark data for talos-test perf-reftest
across 5 runs:
Delta | perf-reftest elapsed time | icache misses/hit | pagefaults |
---|---|---|---|
-2 | mean:979.154s,min:976.070s,med:979.677s | 76252841384/1639147282882 | 9931997 |
0 | mean:958.988s,min:957.816s,med:959.531s | 76386933845/1651163241090 | 9998150 |
2 | mean:971.755s,min:968.438s,med:972.438s | 75050288347/1659695658920 | 9921934 |
Observation. Splitting off more blocks by manually adjusting a delta value does not seem to help with performance or code size. D59751 helps in terms of code size. Inliner+HCS splits significantly more blocks, and while there is a code size increase, might help with performance.