众所周知缓存优化是一项非常重要(才怪)的优化,例如fread快读是带宽敏感+延迟敏感型操作,所以尽量放在L1或L2缓存中(L3缓存是所有核共用的,所以延迟高不少,并且你不知道评测机的其他任务占据了多少三缓,但你知道你的代码必然是独占一个物理内核的,L1和L2不会有别人抢)
其实上面说的L1特指L1D,因为L1是分为L1I(instructions)和L1D(data),只有L1D是我们想要的。
于是我前两天以占领某红题最优解第一页为代价估算出
L1D=32KB
L2=512KB/768KB(不能肯定)
但我不能肯定,所以我打算通过IDE直接获取CPU信息
使用python 3 运行以下代码:
from os import *
r=popen("some commands")
print(r.read())
r.close()
其中some commands 分别如下:
1.lscpu
没有输出,看来运行的docker过于简单,根本没有这个指令
接下来会在一楼续贴