[RFC] Using large pages for large hash tables
Rafael Espíndola via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 17 11:31:23 PDT 2016
On 17 October 2016 at 13:23, Hal Finkel <hfinkel at anl.gov> wrote:
> ----- Original Message -----
>> From: "Rafael Espíndola via llvm-commits" <llvm-commits at lists.llvm.org>
>> To: "llvm-commits" <llvm-commits at lists.llvm.org>
>> Cc: "Aaron Ballman" <aaron.ballman at gmail.com>
>> Sent: Monday, October 17, 2016 10:38:02 AM
>> Subject: [RFC] Using large pages for large hash tables
>> I did a quick and dirty experiment to use large pages when a hash
>> table gets big. The results for lld are pretty impressive (see
>> attached file, but basically 1.04X faster link of files with debug
> + R = madvise(Buckets, Alloc, MADV_HUGEPAGE);
> + assert(R == 0);
> I suspect you just did this because you were experimenting, but just in case: Do you really care whether this succeeds? I suspect we don't want to error here.
That is correct. This was just a quick hack to see if it would work. A
real implementation should just gracefully handle large pages not
> I wonder if there are other places in LLVM/Clang/etc. where we should do this as well.
Quite possibly. I will try to implement an API that works on linux and
windows and post for review.
More information about the llvm-commits