So 2,508 megahertz is 2,508 times 10 to the 6 clocks per second.
Memory bus of 128 bits is equal to 16 bytes per clock.
So if you multiply this out,
the maximum theoretical peak bandwidth of the memory system
is going to be just over 40 gigabytes per second.
And as a rough rule of thumb,
anytime we achieve something like 40 to 60% of the memory bandwidth,
we'd say, "Well, that's doing okay. It's not great. There's probably room for improvement."
If you can get into the 60 to 75% range, that's doing pretty well.
You might not be able to improve on that.
And any time you get over 75%, we would consider that excellent, okay?
You'll never achieve this theoretical peak bandwidth on any real substantial code, okay?
This is literally just what you get from multiplying out the clock rate and the memory bus,
and a real code is going to have an additional overhead.
So if you can get over 75% of that, you're doing really well,
and you probably don't need to optimize the memory further.
So how well are we doing in this code?
因此2,508兆赫就是每秒2508乘以10的六次方个时钟周期 。
128位内存总线等于每个时钟周期16个字节。
所以如果你把这乘起来，
内存系统的最大理论峰值带宽
将刚好超过每秒40 GB。
作为一条粗略的经验法则，
任何时候我们实现内存带宽的40%到60%，
我们会说，"哦，那做的不错。它不是很棒。可能有改进的余地。"
如果你可以达到60%到75%，那就做得相当不错。
你可能无法对此改进。
在任何时候你达到超过75%，我们会认为那是极好的，好吗?
在任何真正实质的代码上，你将永远无法达到此理论峰值带宽，明白吗？
这就是从字面上讲你把时钟速率和内存总线相乘得出的结果，
另外，一个真正的代码会有额外的开销。
所以如果你可以得到理论值的75%以上，你就做得非常好了，
你很可能不需要进一步优化内存。
那么这个代码中我们做得怎么样呢？