text: 再具體化等人於1981年提出並且被實現於PI.8編譯器中。其透過重新計算某個值而不是從記憶體中載入該值的手段，來縮短程式執行時間。該技術可見於GCC等現代編譯器中。使用.這項技術通常見於暫存器配置領域之中，因為在遇到暫存器不足的場景時，一些變數會被轉移至記憶體，形成溢位變數。考慮到重新從記憶體載入某個溢位變數的延遲很長，過多的溢位變數會降低程式效能。傳統的編譯器最佳化技術，比如公共子表示式消除以及迴圈不變程式碼外提，往往更加註重減少乃至消除多餘的計算。一般而言，這些技術往往能夠有效降低執行程式所需的處理器週期，但與此同時卻也為程式添加了許多變數以及加長了變數的生命週期。在暫存器配置壓力較大的場景下，這些副效果會導致大量溢位變數的產生，進而形成效能開銷。編譯器此時可以根據成本效益分析，決定是否執行再具體化。若該分析顯示再具體化的開銷小於載入數值的開銷，編譯器便會消除掉一些原有的最佳化，來降低暫存器配置方面的壓力。原理.再具體化的工作原理運用了表示式可達性的概念，會跟蹤用於計算每個變數的表示式。倘若用於計算某個值 formula_1 得表示式 formula_2 的某個變數在執行過程中被修改，該表示式 formula_2 則被定義為是不可達的，而該值 formula_1 也無法被再具體化。此外，還要考慮到被再具體化的表示式的最大複雜性，以避免出現程式重複計算的複雜演算法，比載入花費更多時間之類的問題。
metadata: erhwenkuo/wikipedia-zhtw
metadata: 再具體化
metadata: https://zh.wikipedia.org/wiki?curid=7596709