<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          性能提升8450%,Linux內(nèi)核函數(shù)獲大幅改進(jìn)

          共 964字,需瀏覽 2分鐘

           ·

          2022-03-10 02:12

          Jason Donenfeld 是 WireGuard 的主要開發(fā)者,同時他也是 Linux 內(nèi)核隨機(jī)數(shù)相關(guān)代碼的維護(hù)者,近日在他的領(lǐng)導(dǎo)下,Linux 內(nèi)核的隨機(jī)數(shù)生成器代碼有了巨大幅度的改進(jìn)。
          在之前的 Linux 5.17 中,Jason Donenfeld 就在隨機(jī)代碼用 BLAKE2s 代替了 SHA1,由于 BLAKE2s 自帶的特性,前者通常比后者更快更安全。經(jīng)過測試,通過這個簡單的轉(zhuǎn)換就能獲得 131% 左右的速度提升。
          雖然在 Linux 5.17 中有了速度上的大幅提升,但 Jason Donenfeld 對此并沒滿足。因此在 Linux 5.18 中他對隨機(jī)代碼作出了更多的改進(jìn)。
          通過查看 Linux 的?random.git?倉庫的日志能夠看出(上圖),開發(fā)者 Jason Donenfeld 在最近兩天時間里進(jìn)行了大量的代碼提交。這些提交內(nèi)容都將在 3 月下旬 Linux 5.18 的合并窗口啟動時引入內(nèi)核。
          在郵件中特別強(qiáng)調(diào)到,通過使用正在開發(fā)的最新代碼,用于獲取隨機(jī)字節(jié)的 getrandom() 調(diào)用能夠獲得更好的性能。在配備英特爾 Xeon E5-2697 v2 @ 2.70GHz CPU 和 112G 內(nèi)存的設(shè)備上進(jìn)行 stress-ng getrandom() 基準(zhǔn)測試后,更是獲得了 8450% 的性能提升。
          此次更改基本上會將之前的全局結(jié)構(gòu)(實(shí)際上是 per-numa 節(jié)點(diǎn)結(jié)構(gòu))更改為 per-cpu 結(jié)構(gòu),這意味著快速路徑上的許多鎖都會消失。因此,當(dāng)在具備多核的 CPU 上同時嘗試 getrandom() 時,毫無疑問性能會出現(xiàn)提升。只不過沒想到在測試中能帶來 8450% 的提升。
          除此之外,當(dāng)從 per-numa 更改為 per-cpu 后,也將不再需要被推遲到工作隊(duì)列上線后才能進(jìn)行。也正如我之前所說,此次改進(jìn)將會為高核心數(shù)的電腦和服務(wù)器帶來巨大收益。

          文章轉(zhuǎn)載:OSC開源社區(qū)

          (版權(quán)歸原作者所有,侵刪)


          點(diǎn)擊下方“閱讀原文”查看更多


          瀏覽 41
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产内射视频在线 | 人人做人人操 | 女人三级视屏 | 国产色欲一区二区精品 | 91人妻在线视频 |