Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否有理由将多维数组线性化为平面以提高生产力?我的意思是,即使假设您只是从编译器中获取指针操作,并在计算索引时显式地执行它们。那么有什么意义呢?
使它们平坦可能会使它们在 CPU 缓存中停留的时间更长(因为它们在同一个内存块中),这将减少缓存未命中的数量,从而提高性能。但是您必须对代码进行分析和基准测试,以准确了解任何特定程序的实际性能影响。当然,除非分析表明您应该弄清楚如何针对锯齿状数组进行优化以减少性能瓶颈,否则我不会担心这种事情。