成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

為您的 Node 性能選擇最佳的 JS 引擎

huaixiaoz / 869人閱讀

摘要:為了避免與引擎混淆,我們放棄了并將其稱為。雖然是使用的默認(rèn)引擎,但是提供了一個(gè)通用的平臺(tái),允許開發(fā)者選擇不同的引擎。的發(fā)布非常令人興奮,并且是社區(qū)內(nèi)的一件大事。此外,開發(fā)者最關(guān)注的就是性能?;鶞?zhǔn)測(cè)試沒有考慮垃圾收集事件的數(shù)量。

本文翻譯自 Picking the best JS engine for your Node app’s performance,中文版首發(fā)在我的知乎專欄 V8 源碼及周邊。

tl;dr

Node.js 正在飛速的發(fā)展。目前 Node.js 8 已經(jīng)發(fā)布。同時(shí),基于 ChakraCore 的 Node.js 版本也正在積極開發(fā)中。

原文是:The recent Node.js v8 version (not to be mistaken with V8, the JavaScript engine) has just been published.

原作者使用了 Node.js v8 version 這個(gè)詞,為此作者專門在括號(hào)中解釋了這里的 V8 不是 javascript 引擎 V8,而是 Node.js 的版本。但是在 Node.js 官方博文 Node v8.0.0 (Current) 中有一段注釋:

Note that, when referring to Node.js release versions, we have dropped the "v" in Node.js 8. Previous versions were commonly referred to as v0.10, v0.12, v4, v6, etc. In order to avoid confusion with V8, the underlying JavaScript engine, we"ve dropped the "v" and call it Node.js 8.

請(qǐng)注意,當(dāng)引用 Node.js 發(fā)布版本時(shí),我們已經(jīng)在 Node.js 8 中刪除了 “v”。以前的版本通常被稱為 v0.10,v0.12,v4,v6 等。為了避免與 V8 JavaScript 引擎混淆,我們放棄了 “v” 并將其稱為 Node.js 8。
所以,Node.js v8 版本應(yīng)該直接稱為 Node.js 8。

由于 Node.js 使用的 JavaScript引擎不知道什么時(shí)候會(huì)引入新功能,開發(fā)者們都像明確的知道不同引擎在性能方面的性能優(yōu)劣。

我們對(duì)以下幾個(gè) Node.js 版本做了性能評(píng)估:

Node.js 6.10.1 (V8 5.1.281.95)* Node.js 7.10 (V8 5.5.372.43)

Node.js 7.10 使用 --turbo --ignition 參數(shù) (V8 5.5.372.43)

Node.js 8.0 (V8 5.8.283.41)

Node.js 8.0 使用 --turbo --ignition 參數(shù) (V8 5.8.283.41)

Node.js 8.0 (ChaKraCore 2.0.0.0) (使用 2 種不同的構(gòu)建版本)

你可以通過這個(gè)簡(jiǎn)單的 可視化工具 查看不同版本對(duì)于不同特性的性能。

在這些結(jié)果中,如果你使用的是 Node.js 8,你還可以查看開啟 --turbo --ignition 參數(shù)后的 javascript 性能。

Context

雖然 V8 是 Node.js 使用的默認(rèn) JavaScript 引擎,但是 Node.js 提供了一個(gè)通用的平臺(tái),允許開發(fā)者選擇不同的 JavaScript 引擎。

Node.js 8 的發(fā)布非常令人興奮,并且是社區(qū)內(nèi)的一件大事。該平臺(tái)已附帶一套全新功能。此外,開發(fā)者最關(guān)注的就是性能。

了解哪種 JavaScript 引擎最適合運(yùn)行應(yīng)用程序?qū)⒊蔀橐豁?xiàng)非常有用的技能。 在本文中,我們將看到 V8 和 ChakraCore 的不同版本在性能方面的優(yōu)劣。

方式

要比較不同 Node.js 版本之間的基準(zhǔn)測(cè)試,我選擇了有代表意義的 35 種 JavaScript 代碼模式。他們中的大多數(shù)都是從 Colin Ihrig’s ‘will it optimize’ 的 repo 中獲取的。這些模式已經(jīng)在前面的文章(Optimize your Node app by simply upgrading Node.js)中討論過了。

對(duì)于每個(gè)模式,分別使用了每個(gè)不同版本的 Node.js 運(yùn)行 10 次、100 次、1000 次、10000次和 10000 次。 通過允許這些代碼,我們呢可以了解每個(gè)引擎如何進(jìn)行運(yùn)行時(shí)常規(guī)優(yōu)化和熱函數(shù)(hot function)優(yōu)化。

基準(zhǔn)測(cè)試沒有考慮垃圾收集(GC)事件的數(shù)量。 這意味著如果修改分配給每個(gè)進(jìn)程的內(nèi)存,則實(shí)驗(yàn)的結(jié)果可能會(huì)不同。

結(jié)果

在 這個(gè)頁面 可以查看完整的測(cè)試結(jié)果。通過分析這個(gè)結(jié)果,我們可以發(fā)現(xiàn) ChakraCore 的 Node.js 版本比基于 V8 的版本慢。

此外,在大多數(shù)情況下,隨著時(shí)間的遷移 V8 變得越來越高效。Ignition 和 Turbofan 優(yōu)化架構(gòu)很顯著地提升了性能。 Node.js 8 隨 V8 5.8 發(fā)布,但是 默認(rèn)并沒有啟用。 Node.js 的未來版本將隨著啟用了 Ignition 和 Turbofan 的 V8 5.9(也可能是 5.6)一起提供。

結(jié)論

這個(gè)基準(zhǔn)測(cè)試非常有趣,我計(jì)劃在將來增加更多的 Node.js 版本和更多的代碼模式。作為Sqreen 的 Node.js 工程師,我非常關(guān)心性能。

(譯注:后面還有 4 端內(nèi)容,大部分都是原作者的廣告,就不翻譯了)

最后推薦作者開發(fā)的這個(gè)強(qiáng)大的性能可視化對(duì)比工具:Picking the best JS engine for your Node app’s performance 還有我的講座:前端程序員應(yīng)該懂點(diǎn) V8 知識(shí)。

歡迎關(guān)注我的公眾號(hào),關(guān)注前端文章:

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/83511.html

相關(guān)文章

  • CG Pipeline: 最佳圖形數(shù)據(jù)庫性能對(duì)比, CG生產(chǎn)數(shù)據(jù)服務(wù)

    我們選擇了四個(gè)較流行的圖形數(shù)據(jù)庫進(jìn)行實(shí)驗(yàn)對(duì)比。測(cè)試中會(huì)提供Python 代碼段以顯示如何使用每個(gè)數(shù)據(jù)庫,之后我們將運(yùn)行一個(gè)快速的基準(zhǔn)測(cè)試,我們將在i7-6700 CPU @ 3.40GHz 上運(yùn)行10 000 次我們的示例查詢,然后比較各個(gè)圖形數(shù)據(jù)庫所需的時(shí)間及評(píng)價(jià)其性能。 以下為四種圖形數(shù)據(jù)庫性能對(duì)比原創(chuàng)總結(jié),詳細(xì)對(duì)比了各個(gè)數(shù)據(jù)庫的優(yōu)缺點(diǎn),以及原文作者做出的總結(jié)推薦: 圖形數(shù)據(jù)庫 語言 時(shí)間...

    jackwang 評(píng)論0 收藏0
  • 2017-06-18 前端日?qǐng)?bào)

    摘要:前端日?qǐng)?bào)精選精讀高階組件知乎專欄是如何重新定義前端開發(fā)的知乎專欄為您的性能選擇最佳的引擎知乎專欄中的尺寸單位掘金一種生成雪碧圖的懶惰姿勢(shì)中文第期編寫現(xiàn)代代碼周刊第期的平凡之路我們到底可以通過多少種方式修改元素樣式掘金 2017-06-18 前端日?qǐng)?bào) 精選 精讀 React 高階組件 - 知乎專欄React 是如何重新定義前端開發(fā)的 - 知乎專欄為您的 Node 性能選擇最佳的 JS 引...

    Yang_River 評(píng)論0 收藏0
  • 前端技術(shù)日志 | 19年8月21日 | 新 React DevTools 介紹

    摘要:前端技術(shù)日新月異,在你鞏固底層技能的同時(shí),別忘了還要跟上前沿技術(shù)的發(fā)展步伐。你可以從谷歌的博客中了解更多相關(guān)信息。令我驚訝的是,谷歌所有地方在非常簡(jiǎn)單的頁面上都沒有搜索欄。快速發(fā)布預(yù)覽零配置打包工具??焖賳?dòng)新的工具。 Web 前端技術(shù)日新月異,在你鞏固底層技能的同時(shí),別忘了還要跟上前沿技術(shù)的發(fā)展步伐。 本期刊專注于 Web 前端前沿技術(shù),收集的內(nèi)容來自國外各大前端技術(shù)周刊,這里把值得...

    pepperwang 評(píng)論0 收藏0
  • 前端技術(shù)日志 | 19年8月21日 | 新 React DevTools 介紹

    摘要:前端技術(shù)日新月異,在你鞏固底層技能的同時(shí),別忘了還要跟上前沿技術(shù)的發(fā)展步伐。你可以從谷歌的博客中了解更多相關(guān)信息。令我驚訝的是,谷歌所有地方在非常簡(jiǎn)單的頁面上都沒有搜索欄。快速發(fā)布預(yù)覽零配置打包工具??焖賳?dòng)新的工具。 Web 前端技術(shù)日新月異,在你鞏固底層技能的同時(shí),別忘了還要跟上前沿技術(shù)的發(fā)展步伐。 本期刊專注于 Web 前端前沿技術(shù),收集的內(nèi)容來自國外各大前端技術(shù)周刊,這里把值得...

    zhiwei 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<