Clarification of Answer by
maniac-ga
on
09 Jan 2005 19:17 PST
Hello Dabryan,
Again, the relative performance of two processes will vary with the
type of application. Let me use a relatively old example for
comparison. In the mid 1970's there were three major types of
supercomputers:
- Cray 1 (vector processor)
- Illiac (single instruction, multiple data)
- CDC (fast, more general system)
and some applications were faster on one system than either of the
other two. There were other applications that would be better on a
second machine and worse on the first and third (and so on). There was
no clear "better" system between the three - if your application could
fit within the capacity of one system (and not in another), the
performance on that system would be MUCH better than another.
Going back to the original question, lets say you have an application
that fits within a 1 Mbyte CPU cache. For that application, you can
basically increase the CPU speed at will without the need to increase
the speed of main memory and get a performance boost. The CPU
basically at that point makes no accesses to memory.
For a second application that needs 4 Mbyte memory, you need to
increase both the CPU and memory speed to get a comparable
improvement. Alternatively, you can purchse a CPU with a 4 Mbyte CPU
cache and get the same effect as the previous one.
So again, the performance difference will depend on the specific
application you are trying to run. In general, an increase of CPU
speed will result in a proportional reduction in application run time
(as I mentioned before). This will be limited in large applications -
those much larger than the CPU caches. To compare, an increase in
memory speed will help only if your application makes frequent
references to more memory than in the CPU caches.
--Maniac