嘗試通過以下增強辦法,減少跟蹤快取未命中的數量:
仔細安排程式碼可以增強快取與記憶體區域性。相似的基本指令塊序列應該佈置到記憶體中連續的位置。這可能涉及將不相似的程式碼(如處理錯誤情況的程式碼)放到該序列之外。如需有關詳細資訊,請參閱 Intel(R) Pentium(R) 4 Processor Optimization Reference Manual(英特爾(R) 奔騰(R) 4 處理器優化參考手冊)的第 2 章。
如果尚未研究相同程式碼區域中的分支預測效能,請通過採集以下事件的數據加以研究:時鐘訊號、跟蹤快取未命中、失效的分支及失效的預測失誤分支。
儘可能避免自我修改程式碼。總是將程式碼與數據放在不同的頁上。如果要修改程式碼,請儘量一次性完成,並確保執行修改的程式碼與要修改的程式碼處在不同的頁上,或至少在相隔 1K 的區域中。如需有關詳細資訊,請參閱 Intel(R) Pentium(R) 4 Processor Optimization Reference Manual(英特爾(R) 奔騰(R) 4 處理器優化參考手冊)的第 2 章。
使用檔案導引優化 (PGO) 將常用程式碼路徑一直保留在快取中,以減少指令獲取次數,這樣可以改善程式碼區域性。
如需含“超執行緒技術”的處理器的常用優化技術的有關詳細資訊,請參閱最新優化手冊的第 7 章。