On Thu, Oct 2, 2014, 19:37 Alexander Kornienko <[email protected]> wrote:

One important thing this patch does, it splits isBaseOf with and without
distance to avoid runtime selection.

As for the caching, I believe it doesn't matter much, as on my test
(lib/Sema/SemaOverload.cpp) most of the calls were asking one of a small
number of table cells. Here's some data:

  * total calls: ~39M
  * total number of pairs asked: 1646
  * 103 mostly asked cells cover 80% of all calls
  * 219 mostly asked cells cover 90% of all calls
  * 50 mostly asked rows (< 6kB) cover 97% of all calls

 if they're spread out you might still hit 50 different pages...

The other solutions you've proposed are also interesting (especially #4
which is the most elegant, but requires some care in arranging the primes),
but this one is the most straightforward, IMO.

http://reviews.llvm.org/D5577
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to