about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorAriel Ben-Yehuda <arielb1@mail.tau.ac.il>2015-04-21 19:00:12 +0300
committerAriel Ben-Yehuda <arielb1@mail.tau.ac.il>2015-04-30 15:10:52 +0300
commit7ae4a8e9f3150f62964151ef54b3da3cd24ee123 (patch)
tree3dd0213972746ef86062dd9ad094acf2b7838507 /src/rustllvm/RustWrapper.cpp
parentbd1f73420ab22faa8087a6cf1618225d09d64f9e (diff)
downloadrust-7ae4a8e9f3150f62964151ef54b3da3cd24ee123.tar.gz
rust-7ae4a8e9f3150f62964151ef54b3da3cd24ee123.zip
Use hash-tables in trait selection
Puts implementations in bins hashed by the fast-reject key, and
only looks up the relevant impls, reducing O(n^2)-ishness

Before: 688.92user 5.08system 8:56.70elapsed 129%CPU (0avgtext+0avgdata 1208164maxresident)k, LLVM 379.142s
After: 637.78user 5.11system 8:17.48elapsed 129%CPU (0avgtext+0avgdata 1201448maxresident)k LLVM 375.552s

Performance increase is +7%-ish
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions