Mono 3 2 7發布,JIT和GC進一步改進

2021-09-06 14:41:20 字數 722 閱讀 4533

mono 3.2.7已經發布,帶來了很多新特性,如改進的jit、新的面向linq的直譯器以及使用了64位原生指令等等。

這是一次主要特性發布,累積了大約5個月的開發工作。看上去大部分改進都是底層的效能改進、優化以及更好的相容性。以下是一些值得重點強調的特性:

現在abcrem(array bound checks removal)優化在64位系統上的表現改進了很多。

兩類新的優化,移動迴圈不變式(loop invariant code motion)和別名分析(alias analysis)。在某些函式中可以帶來20%的效能收益。

64位cas指令在32位系統上得到支援,極大地改進了plinq負載在多核平台上的表現。

使用了更新的llvm版本,現在可以生成快速tls(thread local storage,執行緒本地儲存)訪問

gc相關的微型優化——優化了內部資料結構,使用intrinsics來加速核心迴圈。

可供fullaot執行時使用的乙個面向linq的直譯器以及動態語句。

通過task awaiters對定製任務排程器提供了更好的支援。

c#編譯器中的可達性和流分析有了很大的改進,可以生成更好的警告資訊。

該版本還包含了一些bug修復。改進的完整列表請參看發布說明。

檢視英文原文:mono jit, gc get better

檢視中文原文:mono 3.2.7發布,jit和gc進一步改進

Redis教程09 發布和訂閱

redis教程08 zset有序集合介紹 redis教程07 set集合介紹 redis教程06 list型別命令介紹 redis教程05 hash型別命令介紹 redis教程04 string型別之bit redis教程03 string介紹 redis 發布訂閱 pub sub 是一種訊息通訊模...

RabbitMQ 原文譯03 發布和訂閱

在之前的案例中我們建立了乙個工作佇列,這個工作佇列的實現思想就是乙個把每乙個任務平均分配給每乙個執行者,在這個篇文章我們會做一些不一樣的東西,把乙個訊息傳送給多個消費者,這種模式就被稱作 發布 訂閱 為了說明這個模式,我們將要建立乙個簡單的日誌系統,乙個負責發布訊息,另外乙個負責接收列印他們.在我們...

物件的共享(一) 發布和逸出

發布 publish 乙個物件的意思是,是物件能夠在當前作用域之外的 中使用。例如,將乙個指向該物件的引用儲存到其他 可以訪問的地方,或者是在某乙個非私有的方法中返回該物件的引用,或者將物件的引用傳遞到其他類的方法中。逸出 escape 當某個不應該發布的物件被發布時。上面的定義比較抽象,下面看乙個...