工作數據集似乎適合二級快取大小,而不適合一級快取大小。
在以下情況中,此細節具有實質性意義:
計數器的商【(二級快取請求 - 二級快取指令獲取)/失效的指令】不佳。值 0.005 應視為良好,值 0.05 應視為不佳。
二級快取未命中比一級快取未命中對效能的影響更大,而且二級快取問題通常比一級快取問題更容易解決。
儘可能縮小工作數據集以便能放入一級快取內
如果可能,請修改演算法以減小工作數據集,使之適合一級快取的大小。請參閱“英特爾(R) 體系結構優化參考手冊”中“循環模組化”的說明。“循環模組化”將給定問題的記憶體區域轉化成更小的記憶體塊,而不是按順序遍歷整個記憶體區域。每個記憶體塊都小到足以使給定計算的所有數據均能適合快取大小,從而最大限度提高數據複用。
考慮使用預取指令
如果無法減小工作數據集,請考慮使用預取指令,在需要數據之前將它預取到快取。請參閱“優化手冊”中關於預取指令的說明。