diff options
author | Rui Ueyama <ruiu@google.com> | 2018-01-19 23:54:31 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2018-01-19 23:54:31 +0000 |
commit | 517366c7e0d9cd51b216b4788cdfaa4b00c22663 (patch) | |
tree | 5f8bea7bc10eafbf366c0463e15f66efcc2719ec /llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp | |
parent | 73ceb50d8555fa7460957a0346bcb4002e5eff42 (diff) | |
download | bcm5719-llvm-517366c7e0d9cd51b216b4788cdfaa4b00c22663.tar.gz bcm5719-llvm-517366c7e0d9cd51b216b4788cdfaa4b00c22663.zip |
Make the bloom filter a bit larger.
I created https://reviews.llvm.org/D42202 to see how large the bloom
filter should be. With that patch, I tested various bloom filter sizes
with the following commands:
$ cmake -GNinja -DCMAKE_BUILD_TYPE=Debug -DLLVM_ENABLE_LLD=true \
-DLLVM_ENABLE_PROJECTS='clang;lld' -DBUILD_SHARED_LIBS=ON \
-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-bloom-filter-bits=<some integer> \
../llvm-project/llvm
$ rm -f $(find . -name \*.so.7.0.0svn)
$ ninja lld
$ LD_BIND_NOW=1 perf stat bin/ld.lld
Here is the result:
-bloom-filter-bits=8 0.220351609 seconds
-bloom-filter-bits=10 0.217146597 seconds
-bloom-filter-bits=12 0.206870826 seconds
-bloom-filter-bits=16 0.209456312 seconds
-bloom-filter-bits=32 0.195092075 seconds
Currently we allocate 8 bits for a symbol, but according to the above
result, that number is not optimal. Even though the numbers follow the
diminishing return rule, the point where a marginal improvement becomes
too small is not -bloom-filter-bits=8 but 12. So this patch sets it to 12.
Differential Revision: https://reviews.llvm.org/D42204
llvm-svn: 323010
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp')
0 files changed, 0 insertions, 0 deletions