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

Bruno Ricci via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Feb 15 04:40:14 PST 2020


riccibruno added a comment.

In D71786#1871211 <https://reviews.llvm.org/D71786#1871211>, @rnk wrote:

> I haven't found time to review this yet, but this is still a very interesting change, and I hope to get to it soon.
>
> Some other things I wanted to do in this space are:
>
> - Histogram most commonly allocated AST node types
> - Try raising BumpPtrAllocator "slab" size above 4096, that seems too small. Most AST nodes are allocated with BumpPtrAllocator. These changes would likely only affect parsing speed, not middle/backend speed which dominates thinlto time.




- This already exist right? This is `-print-stats`.
- I agree that 4K is too small. Virtual memory is cheap so we should just allocate large slabs. That said in my experiments increasing the slab size had no measurable impact in itself (at least for clang with `-fsyntax-only`). What did have a meaningful impact is using large pages (5%-6% in `-fsyntax-only` on all of Boost, obviously hardware dependent). Additionally I suspect, but have no data, that the improvement will be comparatively larger in a normal compilation because typically the DTLB and STLB are shared between the logical threads on each core.


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

https://reviews.llvm.org/D71786





More information about the llvm-commits mailing list