With the proliferation of caches and memory-management hardware, "random-access memory" has become an increasingly inaccurate phrase; it's not uncommon on a modern machine for some patterns of memory access to be more than fifty times faster than others.
The ptrchase benchmark tests, I suspect, much the same thing as the more famous lmbench. It consists of a tight loop u=pointers[u], with the pointers array arranged as one large cycle: accordingly, the memory access jumps randomly around the whole block of pointers.
You'll need a copy of prectime.h to get cycle-accurate timing, and to collect and compile ptrchase.c. It's written in pretty standard C to work across as many platforms as possible. The executable takes no parameters, and outputs 21 lines of the form
| Size of table in ints | Size of table in bytes | Latency in ticks | Latency in ticks-per-table-entry |
Please send these to a file, and then email me it, including (ideally) information on the MHz speed of your computer, the type of processor, the sizes of the various caches (the off-die cache sizes are particularly important to know, since they cannot be worked out from the processor type), and the type of main memory you use. EG '800MHz Athlon Thunderbird (64/64; 256), 512M PC133 CAS2 SDRAM', or '550MHz PA-RISC 8600 (1024k L1 D-cache), 2048M PC100 SDRAM eight ways interleaved'.
Well, here's where the lack of a decent Web vector-graphics standard becomes a problem. I've got results from 43 different systems, ranging from an HP J5000 dual-processor server to a no-name K6 laptop, but these form a 43 x 21 matrix of data, and the obvious way to display them would be as 64 graphs: one line charts per computer of performance against problem size, plus one bar chart per problem size showing the relative performance of the different computers. Or, even better, to have some kind of Java applet where you can select a subset of the computers and generate a custom chart.
But generating 64 charts in Excel and going through the fiddly procedure to save them as sensible-sized, decently-antialiased, Web-friendly graphics is not practical - especially if I have to redo 22 of them whenever I get another result - so for the moment I'm giving you the data matrix and one (bulky - 900 x 800) graph; maybe there's an obvious way of making the 64 charts using pipes, gnuplot and perl.