.NET 3.5 SP1 引入 JIT 內聯編譯的重大改進,採用基於程式碼大小的啟發式演算法,並能偵測呼叫點是否位於迴圈中,大幅提升執行效能與快取友善度。
內聯可消除呼叫/返回指令,減少指令數;但過度內聯導致機器碼膨脹,超出 L1 快取(典型 64KB),迫使 CPU 存取較慢的 L2 或主記憶體(3-10+ 週期),反而降低效能。啟動時磁碟 I/O 也隨程式碼體積增加。
此改進源自 Vance Morrison 的分析:JIT Inlining Improvements in .NET 3.5 SP1。