How Important Is Memory Latency?
I have a feeling this may have been discussed before, but I can't seem to find the thread.
Looking at the memory on the Crucial website, the 512MB DIMMs have a latency of 3, the 256MB DIMMs a latency of 2. In practice, does the extra clock cycle of the 512MB DIMM make any noticeable difference to performance?
How can I determine the latency of the existing DIMMs in the machine? I have a feeling the system profiler used to show this, but in Jaguar it doesn't seem to. Is there a command that can be used from the command line?
Assuming only a couple of applications are being run, would they run faster on a machine with 512MB of memory (2 X 256MB, latency 2), or on a machine with 1024MB of memory (2 X 256MB, latency 2, 1 X 512MB, latency 3), or would the difference be negligible?
Manys thanks in advance.
Looking at the memory on the Crucial website, the 512MB DIMMs have a latency of 3, the 256MB DIMMs a latency of 2. In practice, does the extra clock cycle of the 512MB DIMM make any noticeable difference to performance?
How can I determine the latency of the existing DIMMs in the machine? I have a feeling the system profiler used to show this, but in Jaguar it doesn't seem to. Is there a command that can be used from the command line?
Assuming only a couple of applications are being run, would they run faster on a machine with 512MB of memory (2 X 256MB, latency 2), or on a machine with 1024MB of memory (2 X 256MB, latency 2, 1 X 512MB, latency 3), or would the difference be negligible?
Manys thanks in advance.
Comments
if you're 99% of the market, it's not an issue.
for that 1%, it's worth the extra cost.
<strong>I have a feeling this may have been discussed before, but I can't seem to find the thread.
Looking at the memory on the Crucial website, the 512MB DIMMs have a latency of 3, the 256MB DIMMs a latency of 2. In practice, does the extra clock cycle of the 512MB DIMM make any noticeable difference to performance?
How can I determine the latency of the existing DIMMs in the machine? I have a feeling the system profiler used to show this, but in Jaguar it doesn't seem to. Is there a command that can be used from the command line?
Assuming only a couple of applications are being run, would they run faster on a machine with 512MB of memory (2 X 256MB, latency 2), or on a machine with 1024MB of memory (2 X 256MB, latency 2, 1 X 512MB, latency 3), or would the difference be negligible?
Manys thanks in advance.</strong><hr></blockquote>
1) It makes quite a difference in case of a cache miss and RAM page hit. If you have a CL3 module this will take you (3+1+1+1)/bus frequency (best case) to read the cache line, a CL2 module will deliver the line in (2+1+1+1)/bus frequency. This means that the CPU has to wait 20% longer if you have a CL3 module installed. Keep in mind that the more doubles you read in sequence, the smaller the effect!
2) You should look at the x-y-z numbers instead of CLx numbers. Besides the latency you are referring to (CAS - column address strobe), there are often other latencies involved as well. For example if you have a RAM page miss (you haven't been reading from the same page before)....... you know what, if you're really interested, read something about it, here for example: <a href="http://speedtest.hardocp.com/article.html?art=MjM4" target="_blank">http://speedtest.hardocp.com/article.html?art=MjM4</a> (The DDR stuff isn't really up-to-date, there exist several 128bit implementations and pretty much every DDR board supports long (>4) bursts.)
3) If you run certain memory intensive tasks (lots of "random" accesses) on your machine, you will definitely notice speed differences. Otherwise, you probably won't notice much.
4) Take Airsluf's comments with a grain of salt (CPU cycles have nothing to do with CL/CAS latency at all).
[ 10-28-2002: Message edited by: 123 ]
[ 10-28-2002: Message edited by: 123 ]</p>
Try not to be confused by my geek-speak. It's a problem, I know.
Edit: to add more confusion.
[ 10-28-2002: Message edited by: The Pie Man ]</p>
<strong>
You haven't by chance crossed your VM pages and cache lines have you? </strong><hr></blockquote>
No. page = the memory addressed by a given row. If you read from the same page again (already open), you only need to specify a new column, (tCAC). However, if you have a page miss, you must also activate a new row (+ precharge if another page is already open)