精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當前位置:統(tǒng)一通信/協(xié)作企業(yè)動態(tài) → 正文

Twitter啟動新Scala編譯器開源項目,旨在提高編譯速度

責任編輯:editor004 作者:薛命燈 |來源:企業(yè)網(wǎng)D1Net  2017-08-21 10:15:59 本文摘自:infoq.com

Twitter在GitHub上啟動了一個全新的Scala編譯器開源項目,編譯器的名字叫作Reasonable Scala Compiler(簡稱rsc),旨在提升編譯速度。

Twitter目前幾乎擁有世界上最多的Scala代碼,從整體來看,在公司層面提升Scala代碼的編譯速度對于他們來說是很有意義的。

項目的目標如下。

大幅度提升Scala代碼的編譯速度研究Scala各種特性的編譯時間開銷找出可以使用rsc進行編譯的Scala特性子集分享經(jīng)驗給其他Scala編譯器

項目的目標不包括以下幾點。

完全向后兼容(可以考慮Lightbend Scala)新語言特性(可以考慮Dotty或Typelevel Scala)類型系統(tǒng)的改進(可以考慮Dotty或Typelevel Scala)運行時性能(視情況而定)

據(jù)悉,新編譯器有望把一般Scala代碼的編譯速度提升5到10倍。首先,新編譯器類型檢測器受Kentucky Mule項目的啟發(fā),Kentucky Mule是由Grzegorz Kossakowski開發(fā)的一個旨在探索如何改進Scala編譯器速度的項目,主攻類型檢測器。其次,新編譯器的編譯管道只需要遍歷4遍語法樹,相比其他編譯器有了大幅改進,比如Lightbend Scala和Typelevel Scala需要20多次,Dotty需要15次以上。再則,新編譯器只支持Scala的一個子集,這樣就可以專注于提升子集的編譯速度。這個子集被叫作“Reasonable Scala”,而這也就是為什么他們把編譯器叫作“Reasonable Scala Compiler”。新編譯器將從Scala的一些小特性著手,在保持性能達標的同時,逐步支持更多的特性。

社區(qū)對此也展開了熱議。

提升編譯速度對于開發(fā)者來說總是有好處的,盡管它不一定是最大的關(guān)注點。不過新編譯器只支持Scala的一個子集,而且不保證完全兼容性,所以有人擔心Scala生態(tài)系統(tǒng)會因此變得支離破碎,比如有些包只能與特定的編譯器協(xié)同工作。

也有人解釋說,新編譯器不會造成Scala生態(tài)系統(tǒng)的支離破碎,因為官方已經(jīng)聲明,所有的Reasonable Scala都將與標準Scala兼容。

至于提升編譯速度究竟會給開發(fā)者帶來什么實質(zhì)性的好處,項目負責人Eugene Burmako解釋說,如果把編譯時間從10到20分鐘降到1到2分鐘,不僅可以提升效率,還為在每次提交代碼時運行代碼分析工具帶來了可能性。而對于增量編譯來說,如果把時間從3到5秒降到0.3到0.5秒,那么就有可能隨時隨刻運行代碼分析工具,可以立即得到編譯反饋。

對項目持懷疑態(tài)度的人主要還是擔心新編譯器只支持部分Scala特性以及存在兼容性問題,因此可能不會被太多人所采用。對此,Eugene Burmako回應(yīng)說:

我們不想通過采用率來衡量新編譯器成功與否。

我們將會把我們的經(jīng)驗分享給Lightbend Scala和Dotty的開發(fā)者,來幫助他們一起改進他們的編譯器。如果能做到這樣,我們就很開心了。

Grzegorz Kossakowski的Kentucky Mule項目也只支持Scala的一個子集,甚至沒有人把它應(yīng)用在生產(chǎn)項目上。盡管如此,它仍然算是一個很成功的項目,因為在這個項目之前,我們甚至都不知道原來Scala的類型檢測器可以是并行的。

關(guān)鍵字:scala編譯時間

本文摘自:infoq.com

x Twitter啟動新Scala編譯器開源項目,旨在提高編譯速度 掃一掃
分享本文到朋友圈
當前位置:統(tǒng)一通信/協(xié)作企業(yè)動態(tài) → 正文

Twitter啟動新Scala編譯器開源項目,旨在提高編譯速度

責任編輯:editor004 作者:薛命燈 |來源:企業(yè)網(wǎng)D1Net  2017-08-21 10:15:59 本文摘自:infoq.com

Twitter在GitHub上啟動了一個全新的Scala編譯器開源項目,編譯器的名字叫作Reasonable Scala Compiler(簡稱rsc),旨在提升編譯速度。

Twitter目前幾乎擁有世界上最多的Scala代碼,從整體來看,在公司層面提升Scala代碼的編譯速度對于他們來說是很有意義的。

項目的目標如下。

大幅度提升Scala代碼的編譯速度研究Scala各種特性的編譯時間開銷找出可以使用rsc進行編譯的Scala特性子集分享經(jīng)驗給其他Scala編譯器

項目的目標不包括以下幾點。

完全向后兼容(可以考慮Lightbend Scala)新語言特性(可以考慮Dotty或Typelevel Scala)類型系統(tǒng)的改進(可以考慮Dotty或Typelevel Scala)運行時性能(視情況而定)

據(jù)悉,新編譯器有望把一般Scala代碼的編譯速度提升5到10倍。首先,新編譯器類型檢測器受Kentucky Mule項目的啟發(fā),Kentucky Mule是由Grzegorz Kossakowski開發(fā)的一個旨在探索如何改進Scala編譯器速度的項目,主攻類型檢測器。其次,新編譯器的編譯管道只需要遍歷4遍語法樹,相比其他編譯器有了大幅改進,比如Lightbend Scala和Typelevel Scala需要20多次,Dotty需要15次以上。再則,新編譯器只支持Scala的一個子集,這樣就可以專注于提升子集的編譯速度。這個子集被叫作“Reasonable Scala”,而這也就是為什么他們把編譯器叫作“Reasonable Scala Compiler”。新編譯器將從Scala的一些小特性著手,在保持性能達標的同時,逐步支持更多的特性。

社區(qū)對此也展開了熱議。

提升編譯速度對于開發(fā)者來說總是有好處的,盡管它不一定是最大的關(guān)注點。不過新編譯器只支持Scala的一個子集,而且不保證完全兼容性,所以有人擔心Scala生態(tài)系統(tǒng)會因此變得支離破碎,比如有些包只能與特定的編譯器協(xié)同工作。

也有人解釋說,新編譯器不會造成Scala生態(tài)系統(tǒng)的支離破碎,因為官方已經(jīng)聲明,所有的Reasonable Scala都將與標準Scala兼容。

至于提升編譯速度究竟會給開發(fā)者帶來什么實質(zhì)性的好處,項目負責人Eugene Burmako解釋說,如果把編譯時間從10到20分鐘降到1到2分鐘,不僅可以提升效率,還為在每次提交代碼時運行代碼分析工具帶來了可能性。而對于增量編譯來說,如果把時間從3到5秒降到0.3到0.5秒,那么就有可能隨時隨刻運行代碼分析工具,可以立即得到編譯反饋。

對項目持懷疑態(tài)度的人主要還是擔心新編譯器只支持部分Scala特性以及存在兼容性問題,因此可能不會被太多人所采用。對此,Eugene Burmako回應(yīng)說:

我們不想通過采用率來衡量新編譯器成功與否。

我們將會把我們的經(jīng)驗分享給Lightbend Scala和Dotty的開發(fā)者,來幫助他們一起改進他們的編譯器。如果能做到這樣,我們就很開心了。

Grzegorz Kossakowski的Kentucky Mule項目也只支持Scala的一個子集,甚至沒有人把它應(yīng)用在生產(chǎn)項目上。盡管如此,它仍然算是一個很成功的項目,因為在這個項目之前,我們甚至都不知道原來Scala的類型檢測器可以是并行的。

關(guān)鍵字:scala編譯時間

本文摘自:infoq.com

電子周刊
回到頂部

關(guān)于我們聯(lián)系我們版權(quán)聲明隱私條款廣告服務(wù)友情鏈接投稿中心招賢納士

企業(yè)網(wǎng)版權(quán)所有 ©2010-2024 京ICP備09108050號-6 京公網(wǎng)安備 11010502049343號

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 景谷| 垦利县| 綦江县| 锦州市| 施甸县| 周至县| 德令哈市| 区。| 平山县| 泾阳县| 县级市| 大竹县| 凤阳县| 东乡族自治县| 文安县| 黑水县| 缙云县| 新丰县| 南郑县| 邳州市| 井冈山市| 南江县| 台南市| 仲巴县| 康定县| 万载县| 庄河市| 革吉县| 道孚县| 溧水县| 建水县| 开江县| 佛教| 杭州市| 中宁县| 鹤岗市| 武乡县| 宣化县| 航空| 合水县| 郁南县|