Memory CAS benchmarks on my little program

Leo V

Diamond Member
Dec 4, 1999
3,123
0
0
I am working on a program that deals with lots of random-access table lookups... and I decided to benchmark it, just for the heck of it. I made the table size a hefty 4MB, so it cannot fit into the L2 cache on my 2.26B. Sure enough, this made the program about 20 times slower.

Here are my CPU-clock-ticks-per-iteration numbers, lower is better. I am using Intel's compiler with all relevant P4 optimizations, and timing the program with the high-resolution timer and high thread priority for accuracy. I am using 1gb of XMS3500C2 memory, which means I am limited in cas settings at high speeds:

cas2.0-2-2-5 (2499mhz:147fsb:294ddr) 1:1 ratio 363 ticks, 6.88 iterations/sec @ 2.499ghz
cas2.5-3-3-7 (2499mhz:147fsb:392ddr) 3:4 ratio 312 ticks, 8.01 iterations/sec @ 2.499ghz
cas2.0-3-2-7 (2448mhz:144fsb:384ddr) 3:4 ratio 295 ticks, 8.30 iterations/sec @ 2.448ghz
cas2.0-2-2-6 (2261cpu:133fsb:355ddr) 3:4 ratio 268 ticks, 8.44 iterations/sec @ 2.261ghz
added:
cas2.0-2-2-7 (2465cpu:145fsb:386ddr) 3:4 ratio 272 ticks, 9.06 iterations/sec @ 2.465ghz (required 2.7V to pass Memtest)

Observations:
1) The 1:1 ratio was the worst, even with cas2225! Bandwidth is still number one.
2) Given a 3:4 ratio, CAS matters a lot for memory lookups--as a matter of fact, my system was faster at 2.26ghz @ cas2226 than at 2.5ghz @ cas 2.5-3-3-7!
3) DISCLAIMER: In no way should my post be misconstrued as to suggest that my program offers an ultimate measure of system performance, CPU, memory, or otherwise. Parts of the format in my benchmarks are the sole intellectual property of THUGSROOK and were used without his permission. However, imitation is the sincerest form of flattery.

After testing these results, I have actually decided to go with 2.45ghz @ cas2327 instead of 2.5ghz @cas2.5-3-3-7. I just need to pass MemTest86 at these settings before declaring them stable. Of course, once Granite Bay rolls around things will change again :)
--Leo

[EDIT:] I should explain what my program does---it simply generates random integers with a fast algorithm (which takes ~8 cycles) and looks up the table entries at this random address. Nothing fancy. As a result, the memory accesses are all over the place, which stresses the memory system.
 

THUGSROOK

Elite Member
Feb 3, 2001
11,847
0
0
interesting program...

memtest86 kinda works the same way. (even tho its not a timed benchmark)
cas settings will speed up your "wall time" more so then actual mhz.

but like you said ~ everything will change with GBay :D
 

Leo V

Diamond Member
Dec 4, 1999
3,123
0
0
Yeah, I hope so too.

By the way, I should explain what my program does---it simply generates random integers with a fast algorithm (which takes ~8 cycles) and looks up the table entries at this random address. Nothing fancy. As a result, the memory accesses are all over the place, which stresses the memory system. I'm not sure what MemTest does; it seems to mostly perform sequential access, but maybe it has random access as well.