生活随笔
收集整理的這篇文章主要介紹了
io.js 3.0发布:重写Buffer,支持PPC
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
為了利用JavaScript語言構(gòu)建和運行大規(guī)模網(wǎng)絡應用及服務,Node.js項目在2009年被提出。其后,該項目創(chuàng)始人Ryan Dahl加入Joyent公司,專職負責Node.js項目的研發(fā)。從2010年到2013年,Node.js快速發(fā)展,大約每個月發(fā)布一個小版本。然而,經(jīng)過了Gatekeeper的更迭,Node.js項目從2014年開始貢獻頻率開始下降,其1.0版本也遲遲未能發(fā)布。2014年12月,多位重量級Node.js開發(fā)者另外創(chuàng)建了io.js,試圖利用V8 JavaScript引擎實現(xiàn)新的特性,從而替代Node.js。io.js的社區(qū)非常活躍,促使其發(fā)展速度很快,先后于2015年1月和5月份發(fā)布了1.0和2.0版本。近期,io.js在同意與Node.js合并之后,又獨立發(fā)布了一個大的版本——3.0版本。接下來,本文就io.js v3.0的主要更新進行介紹。
\\
buffer方面。新版的io.js在buffer方面的更新較多。首先,該版本在V8 uint8Array的基礎上重新實現(xiàn)了Buffer。盡管在重新實現(xiàn)過程中,相關設計師已經(jīng)盡量減少其對性能的影響,Buffer實例化仍然要一定程度的變慢。具體性能影響根據(jù)Buffer在應用程序內(nèi)使用的情況而不同。目前,Buffer可以接受ArrayBuffer作為一個構(gòu)造函數(shù)的參數(shù)。當單個的buffer傳給Buffer.concat()時,一個新的拷貝Buffer而不是原本的Buffer將會被返回。\\t 編譯方面。新版的io.js的內(nèi)核中添加了PPC支持,使得基于pLinux BE和LE的編譯變得可能。\\t dgram方面。當socket.send()發(fā)生錯誤,而且提供callback時,錯誤信息只是作為callback的第一個參數(shù)進行傳輸。\\t freelist方面。未編檔的freelist內(nèi)核模塊將會被拒絕。\\t http方面。狀態(tài)代碼目前使用官方的IANA名字作為每個RFC7231。例如,http.STATUS_CODES[414]返回'URI Too Long',而不是'Request-URI Too Large'。此外,在一個HTTP代理中調(diào)用.getName()將不再返回一個trailing colon;HTTPS代理也不再返回一個額外的colon。\\t node方面。NODE_MODULE_VERSION調(diào)整到了45,以反映ABI中的break。而且,node中引入了新的process.release對象,其包含了一個設置為'io.js'的name屬性。而且該對象的sourceUrl、headersUrl和libUrl屬性包含了指向相關資源的URL。與io.js綁定在一起的node-gyp版本下載和使用來自iojs.org的header文件包。\\t repl方面。永久的歷史記錄修改為默認處于使能狀態(tài)。歷史記錄的文件位于~/.node_repl_history。該位置可以通過新的環(huán)境變量NODE_REPL_HISTORY來進行重新定位。而且,文件的格式修改為了純文本類型,方便文件崩潰時進行處理。\\t smalloc方面。由于V8的變化,smalloc不再提供API。因此,smalloc模塊在新的版本中被移除。\\t tls方面。該版本為TLS會話密鑰rotation添加了server.getTicketKeys()和server.setTicketKeys()兩個方法。\\t V8 JavaScript引擎方面。該版本io.js使用的v8引擎升級到了4.4.63.26版本。這樣,一些ES6的特性(如使用--harmony-rest-parameters和--harmony-spreadcalls命令行標志可以在staging分別實現(xiàn)rest參數(shù)和spread操作符等)就可以被支持。\ 從以上可以看出,作為io.js的一個較大的更新版本,v3.0在多個方面進行了更新。據(jù)透露,Node.js和io.js未來將會合并發(fā)布新的4.0版本。
\\
感謝徐川對本文的審校。
\\
給InfoQ中文站投稿或者參與內(nèi)容翻譯工作,請郵件至editors@cn.infoq.com。也歡迎大家通過新浪微博(@InfoQ,@丁曉昀),微信(微信號:InfoQChina)關注我們,并與我們的編輯和其他讀者朋友交流(歡迎加入InfoQ讀者交流群)。
總結(jié)
以上是生活随笔 為你收集整理的io.js 3.0发布:重写Buffer,支持PPC 的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔 推薦給好友。