文章出處

9月4日,Mono 3.8.0發布了。該版本的運行時帶來了一些性能和可伸縮性方面的改進,同時完成了向Windows平臺的移植。

Mono遵循Gnome和Linux內核的版本編號策略,這意味著3.8是3.6(已于上個月發布)之后的一個主要的穩定版本。該版本在性能方面有所改進:

  • JIT可以更好地處理除數為2的冪的long型的取余操作,生成的代碼效果好很多。之前long型的取余操作不會像int類型那樣特殊處理。(作為一種編譯優化,通常2的冪的乘除運算會替換為移位操作。)
  • 對于只調用一次的委托,可以生成更快的代碼。這對于諸如asyncLINQ等底層使用了委托的C#特性幫助很大。
  • 運行時有了一個新的可以并發讀的hashtable,有助于提升可伸縮性。
  • GC時間減少了5-10%。

社區對于Mono一個版本接一個版本的持續性能改進非常興奮。Richard Simpson總結到

Mono團隊發布的版本真是讓人印象深刻。Mono最讓我震動的就是性能了。

該版本在調試方面也有些改進,尤其是USB調試。考慮到跨平臺移動開發是Mono的一個主要使用場景,這一改進很受歡迎。調試有線協議(wire-protocol)現在可以更好地處理高延遲情況。客戶端庫也會激進地緩存更多信息。這會減少需要轉移的包的數量,進而減少調試延遲。在使用Xamarin工具進行跨平臺移動開發時,這雙重變化會帶來更好的調試體驗。

除此之外,還有很多Bug修復,涉及運行時、類庫、C#編譯器、MSBuild和調試器,整體上改進了穩定性和性能。發布說明詳細列出了所有修改,感興趣的讀者可以參閱。

Mono 3.6并不支持所有平臺,特別是Windows和非Debian的Linux變種。Mono 3.8則支持更多Linux變種。發布說明中提到,向Windows 64的移植也已經完成。不過Mono網站上尚未提供Windows平臺的安裝程序,我們必須從源代碼構建出最新的二進制文件

MonoXamarin資助的一個項目,是微軟的.NET框架的開源實現。它使得使用C#、F#和其他.NET語言進行跨平臺開發成為可能。Xamarin在Mono之上構建了跨平臺開發工具以及像Xamarin.Forms(可以使用跨平臺代碼輔助創建原生的體驗)這樣的框架產品。開發工具和框架在開發者之間都有應用(Xamarin最近獲得了5400萬美元C輪融資,會繼續在這方面發力)。Xamarin也已經在和微軟開展合作,以改進.NET和Mono之間的兼容性。ASP.NET vNext(尤其是KRuntime)就是這一合作的成果之一;它在.NET和Mono運行時上都能很好地運行。

查看英文原文:Mono Gets Further Performance, Scalability Improvements

查看中文原文: Mono 3.8發布:性能進一步改進,可伸縮性提升


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()