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

Reply via email to