日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

清楚利弊,用好内联

發(fā)布時間:2023/12/31 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 清楚利弊,用好内联 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

清楚利弊,用好內(nèi)聯(lián)

內(nèi)聯(lián)的語法

  • 在類聲明中定義方法;
  • 內(nèi)聯(lián)方法放在類聲明之外,但必須出現(xiàn)在頭文件中,且內(nèi)聯(lián)方法聲明中使用inline標識;
  • 注:inline只是對編譯器的建議,是否內(nèi)聯(lián)的決定權在編譯器;

    內(nèi)聯(lián)節(jié)省的開銷

  • 函數(shù)調(diào)用開銷
  • 調(diào)用間優(yōu)化 優(yōu)秀的編譯器可是內(nèi)聯(lián)方法的邊界難以區(qū)分(將代碼內(nèi)聯(lián)后,對代碼進行重新排列)
  • 內(nèi)聯(lián)帶來的問題

  • 代碼膨脹(空間開銷)
  • 由于代碼膨脹帶來的頁面緩存命中率下降
  • 編譯時間增加
  • 修改文件后相關文件都需要重新編譯;
  • 由于函數(shù)邊界模糊,該內(nèi)聯(lián)函數(shù)遇到問題后不好排查;
  • 內(nèi)聯(lián)函數(shù)的建議

    優(yōu)化時,只針對高頻代碼內(nèi)聯(lián);
    對于調(diào)用頻率高的(80%以上場景都會走到的路徑):
    函數(shù)規(guī)模<5行:總是內(nèi)聯(lián);
    5-20行,將高頻率的調(diào)用點選擇性內(nèi)聯(lián);
    超過20行,重寫方法,體現(xiàn)出快速路徑并將其內(nèi)聯(lián);

    內(nèi)聯(lián)的技巧

  • 將內(nèi)聯(lián)工作放到開發(fā)周期后期
  • 使用條件內(nèi)聯(lián),通過宏和編譯選項的技巧控制在開發(fā)初期不內(nèi)聯(lián),而到開發(fā)后期再加上自定義內(nèi)聯(lián)選項進行內(nèi)聯(lián);
  • SPARC體系結構中的內(nèi)聯(lián)

    SPARC中有充足的寄存器,在限定的調(diào)用深度范圍內(nèi)幾乎沒有調(diào)用返回的性能損失(無須在調(diào)用時存儲就的寄存器內(nèi)容),所有,這種體系結構的內(nèi)聯(lián)效果甚微,一般不用考慮內(nèi)聯(lián);

    推薦支持

    如果你覺得本文對你有所幫助,請點擊以下【推薦】按鈕, 讓更多人閱讀;

    Posted by: 大CC | 29JUN,2015
    博客:blog.me115.com [訂閱]
    Github:大CC

    總結

    以上是生活随笔為你收集整理的清楚利弊,用好内联的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。