0
我有一些代码,并希望优化L1缓存未命中/命中率。是否可以在Python中查看内存分析中的缓存命中/未命中?如何看到L1缓存未命中/命中python分析?
这在C++工具是这样的: Measuring Cache Latencies
编辑: 它可能包括Python的喜欢用Cython/Numba(JIT)
我有一些代码,并希望优化L1缓存未命中/命中率。是否可以在Python中查看内存分析中的缓存命中/未命中?如何看到L1缓存未命中/命中python分析?
这在C++工具是这样的: Measuring Cache Latencies
编辑: 它可能包括Python的喜欢用Cython/Numba(JIT)
虽然具体为Python的编译变种还没有发现,一些3第三方工具可能是helfpul调查这个技术问题:
Cachegrind:高速缓存和分支预测分析器 http://valgrind.org/docs/manual/cg-manual.html
PyCacheSim(仅模拟): https://github.com/RRZE-HPC/pycachesim
如果您正在寻找软件或教程,您的问题可能是题外话。我还没有看到这样的python软件,但它确实非常有趣。 – MSeifert
我非常怀疑这将会是有用的;像Python这样的解释性语言在解释器中遍布各处,L1缓存数据级别的“热点”与解释器设计相比更多地取决于您实际编写的任何代码。即使你对它有一些影响,你控制的L1缓存未命中也不会显着影响运行时间;您无法控制的解释器开销可能会高出一个数量级。关于L1缓存的挑剔是一个非常低级的问题,而Python只是低级别的问题。 – ShadowRanger
关于Cython和Numba编译版本呢? – Tensor