Caches and Lisp: faster list processing via auto-rearranging memory (2003) [pdf]
cs.berkeley.edu
cs.berkeley.edu
[0] I believe they got these numbers, but they should have dug more into the cause instead of accepting the conclusion at face value. Given this is a LISP benchmark, maybe array bounds checks are costly? Maybe a different result would have been obtained had they instructed the compiler to generate unsafe code?
edit: Since the conclusion doesn't mention anything about the list being faster than the array it seems possible that it is just a typo.
Also the paper mentions (in section 2) that:
Occasionally when a recorded benchmark time seemed to be implausible,
(perhaps caused by other activity on the computer system), or we re-tested
the data point for other reasons and found a significant variation, we indi-
cate the repeated time as well.
which seems to imply that the timing experiments were not usually repeated.http://stackoverflow.com/questions/11227809/why-is-processin...
Unless I've missed something?
I haven't digest the entire paper yet.
I am wondering already whether this idea would be combined with the schemes which yield cache-oblivious algorithms.