ChuanqiXu9 wrote:

> ### Performance measurements with LLVM
> I tested these patches for building LLVM itself with modules 
> (`LLVM_ENABLE_MODULES=ON`). To work around #130795, I apply #131354 before 
> building Clang. In terms of overall performance for the entire build, I'm not 
> able to measure a difference in memory consumption because that is dominated 
> by the linker. The run time performance is very noisy, so it's hard to make 
> accurate statements but it looks unaffected as well.
> 
> I did some measurements for individual files, chosen by searching for large 
> object files and excluding generated files. For each version, I first build 
> LLVM completely to populate the `module.cache` and then delete and rebuild 
> only one object file. Run time performance is not hugely affected, it seems 
> to get slightly faster with this PR.
> 
> `Maximum resident set size (kbytes)` from `/usr/bin/time -v`:
> 
> object file   before* `main`  this PR
> `lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ScalarEvolution.cpp.o`      543100  
> 515184  445784
> `lib/Passes/CMakeFiles/LLVMPasses.dir/PassBuilder.cpp.o`      923036  884160  
> 805960
> `lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/AttributorAttributes.cpp.o`        
> 639184  600076  522512
> `lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SLPVectorizer.cpp.o`   
> 876580  857404  776572
> before*: reverting 
> [fb2c9d9](https://github.com/llvm/llvm-project/commit/fb2c9d940ad87e6ae09e06c6915e0c925a4f87ec),
>  
> [c5e4afe](https://github.com/llvm/llvm-project/commit/c5e4afe6733c58e24023ede04275bbed3bde8240),
>  
> [30ea0f0](https://github.com/llvm/llvm-project/commit/30ea0f0ce476bf4c12684a9a514af2ca660bbe44),
>  
> [20e9049](https://github.com/llvm/llvm-project/commit/20e904950967c125abc1e91f57e5a373987ff016)
>  on current `main`

Out of curiosity, are you saying header modules are helpful to reduce the size 
of objects? This makes me surprise a little bit. I thought they are only 
helpful for parsing but not code generating.

https://github.com/llvm/llvm-project/pull/133057
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to