NagyDonat wrote: Execution time comparisons between the commit under review and just reverting https://github.com/llvm/llvm-project/commit/bb27d5e5c6b194a1440b8ac4e5ace68d0ee2a849 ("Don't assume third iteration") atop https://github.com/llvm/llvm-project/commit/a84a6f7dd68b218757e192fe21a806c80ef0b63d (the parent of the commit under review):
| Project | just revert | commit under review | Ratio | | --- | --- | --- | --- | | memcached | 27.50 | 25.68 | 93.4% | | tmux | 79.49 | 73.16 | 92.0% | | curl | 133.26 | 117.82 | 88.4% | | twin | 54.28 | 48.40 | 89.2% | | vim | 221.86 | 165.80 | 74.7% | | openssl | 304.98 | 256.52 | 84.1% | | sqlite | 1039.42 | 870.52 | 83.8% | | ffmpeg | 1272.77 | 1190.92 | 93.6% | | postgres | 402.34 | 321.95 | 80.0% | | tinyxml2 | 49.82 | 28.65 | 57.5% | | libwebm | 83.14 | 56.02 | 67.4% | | xerces | 202.53 | 175.92 | 86.9% | | bitcoin | 162.05 | 155.26 | 95.8% | | protobuf | 2367.55 | 1969.73 | 83.2% | | qtbase | 3022.01 | 2729.55 | 90.3% | | openrct2 | 889.14 | 782.47 | 88.0% | :thinking: The version with the commit under review is surprisingly fast and I don't exactly know why. My most plausible theory is that https://github.com/llvm/llvm-project/commit/bb27d5e5c6b194a1440b8ac4e5ace68d0ee2a849 ("Don't assume third iteration") has two effects on the analysis runtime: - it inherently speeds up the analysis of loops (because some iterations are skipped); - it slows down the analysis because it affects the inlining heuristic and prevents functions from being placed on the inlining blacklist. This would explain why just reverting that commit (which undoes both effects) produces slower analysis than applying the commit under review (which undoes the slowdown and keeps the speedup). One plausible explanation is that https://github.com/llvm/llvm-project/commit/bb27d5e5c6b194a1440b8ac4e5ace68d0ee2a849 "Don't assume third iteration" implies an inherent speedup, because it prevents https://github.com/llvm/llvm-project/pull/136720 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits