[PATCH] D71786: RFC: [Support] On Windows, add optional support for rpmalloc

Bruno Ricci via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 8 04:35:27 PST 2020


riccibruno added a comment.

In D71786#1802970 <https://reviews.llvm.org/D71786#1802970>, @russell.gallop wrote:

> I have done some performance evaluations here and LLVM_ENABLE_RPMALLOC does seem to improve ThinLTO link times and CPU utilisation during ThinLTO.
>
> There are two other things to note:
>  1). This also seems to improve compile time by around 5% for me. Presumably this is due to some other benefit of rpmalloc as (AFAIK) clang.exe does not use multiple threads.


Is rpcmalloc using large pages by default if possible ? I have been toying with using large pages for some of the bump-pointer allocators in clang, namely the allocator of `ASTContext` and the allocator of `Sema`, and I am getting a ~5% improvement in parsing speed.

> 2). This can significantly increase memory usage. Part of this can be attributed to the increased parallelism but I don't think that entirely explains it. I think that rpmalloc is using more memory. Have you experimented with settings such as here: https://github.com/mjansson/rpmalloc/blob/develop/CACHE.md?
> 
> Edit: To be clear, I would be happy with the additional memory usage for the gain in time, but I think that it should be noted as it may not be a good trade off for everyone.




CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71786/new/

https://reviews.llvm.org/D71786





More information about the llvm-commits mailing list