什么样的代码会用到二级缓存?或者说如果要写个程序来比较2个主频相同机器二级缓存速度,应该怎么搞。

解决方案 »

  1.   

    所有的代码都会用到二级缓存。
    这是有cpu负责调度的。
    一般来说一级缓存比二级缓存快一个数量级。
    二级缓存比内存快一个数量级。如果要写个程序来比较2个主频相同机器二级缓存速度,
    可以考虑大量字符串处理的任务,
    比如说有500M文本中满足某些条件(比如出生年龄是80年的)的数据(假设1/30)需要处理。
    CPU完全满足需要,而决定的是数据读进的速度能否满足要求。
    这是二级缓存就重要了。
    这与线程调度也有关。
    我在4core的cpu中4线程处理此类任务,如果把任务平分为每个100万,就会堵塞。
    如果主线程给每个线程每次分配50个任务,就不会堵塞。据说intel公司提供了一个工具,可以观察二级缓存的利用情况。