• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-159  評論-223  文章-30  trackbacks-0
            1.閉包記錄分配:若逃逸分析能識別哪些閉包記錄在創(chuàng)建它們的函數(shù)中是出口不活躍的,則這些閉包記錄可分配在棧幀中(不再是堆中)
            2.內(nèi)聯(lián)擴展:由于小函數(shù)較多,因此內(nèi)聯(lián)可以免去調(diào)用開銷而提高性能,對于遞歸函數(shù),需先用循環(huán)前置頭轉(zhuǎn)換再內(nèi)聯(lián),如果是尾遞歸函數(shù),可先使用尾調(diào)用優(yōu)化刪除遞歸。如果一個函數(shù)的所有調(diào)用都被內(nèi)聯(lián)擴展,并且該函數(shù)沒有作為參數(shù)傳遞或其它方式被引用,那么可以刪除這個函數(shù)本身即函數(shù)定義。內(nèi)聯(lián)擴展可以繼續(xù)作用于擴展后的函數(shù)體,只要存在函數(shù)調(diào)用,這也叫層疊式內(nèi)聯(lián)
            3.循環(huán)不變量參數(shù)外提:遞歸函數(shù)經(jīng)過循環(huán)前置頭轉(zhuǎn)換后,若每次遞歸調(diào)用頭函數(shù),傳入的某些參數(shù)值總不變,則可以將它們從函數(shù)參數(shù)中刪除,函數(shù)體中的每次使用出現(xiàn)用序曲函數(shù)對應(yīng)的參數(shù)名替換
            4.解開嵌套的let:將嵌套的多層let中的代碼合并為一個let中的代碼,in中的代碼不變
            5.避免代碼膨脹:由于內(nèi)聯(lián)復(fù)制函數(shù)體,通常使程序體積變大,且層疊式內(nèi)聯(lián)可無限擴展下去,因此為避免代碼膨脹,有如下啟發(fā)式策略對內(nèi)聯(lián)進行控制
              a) 只內(nèi)聯(lián)執(zhí)行很頻繁的函數(shù)調(diào)用,可根據(jù)靜態(tài)估計比如循環(huán)嵌套深度、迭代次數(shù),或根據(jù)執(zhí)行剖面分析反饋,計算函數(shù)的執(zhí)行頻率
              b) 內(nèi)聯(lián)很小的函數(shù),其函數(shù)體不會比直接調(diào)用多出較多指令
              c) 內(nèi)聯(lián)只調(diào)用一次的函數(shù),然后刪除原來的函數(shù)定義
            posted on 2023-09-07 06:47 春秋十二月 閱讀(63) 評論(0)  編輯 收藏 引用 所屬分類: Compiler
            99久久国产综合精品成人影院| 欧美久久一区二区三区| 久久精品欧美日韩精品| 久久97精品久久久久久久不卡| 久久精品国产精品亚洲下载| 久久91精品国产91| 狠狠狠色丁香婷婷综合久久俺| 狠狠色丁香婷婷综合久久来来去| 综合久久一区二区三区 | 精品国产乱码久久久久久郑州公司| 久久99精品国产99久久6男男| 久久天天躁狠狠躁夜夜2020| 久久亚洲中文字幕精品有坂深雪 | 日本久久中文字幕| 精品乱码久久久久久久| 欧美久久一区二区三区| 青青青青久久精品国产| 欧美va久久久噜噜噜久久| 亚洲婷婷国产精品电影人久久| 99国产精品久久| 亚洲综合熟女久久久30p| 婷婷久久综合| 久久久久婷婷| 国产精品免费久久久久电影网| 欧洲精品久久久av无码电影 | 狠狠色丁香久久婷婷综合五月| 青青青青久久精品国产h久久精品五福影院1421 | 国产精品久久久香蕉| 久久www免费人成看国产片 | 久久成人永久免费播放| 婷婷久久综合九色综合98| 无码久久精品国产亚洲Av影片| 亚洲国产成人久久一区WWW| 亚洲狠狠综合久久| 7国产欧美日韩综合天堂中文久久久久 | 久久精品嫩草影院| 色噜噜狠狠先锋影音久久| 久久午夜电影网| 国产成人精品久久亚洲高清不卡| 国产成人久久精品区一区二区| 久久精品蜜芽亚洲国产AV|