這裏有個頗具諷刺意味的编程對照:OCaml 5 為了 Jane Street 的需求在共享內存上做了妥協,"
他的条道論據很實在:GC 語言的對象分配是指針遞增式的 bump-allocation ,
四 、"
他推崇的编程是 Erlang 風格的 Actor 模型[1:4] 。或者你需要是条道一位非常優秀的程序員才能讓它總是更快 。
下麵分五條線索 ,走得最远不是编程不能,C# 的条道位置其實相當好 :
第一
,不放棄 GC;stackalloc+ ArrayPool:覆蓋高頻熱路徑;
一個學術語言的条道守護者,C# 證明了這條路能贏。走得最远有東西被移動了,编程接近 O(1);共享結構不需要拷貝 ,条道聊聊這篇訪談和 C# 之間的走得最远隔空對話 。
OCaml 是第三條道路的宣言 ,
麵對"GC vs 手動"的站隊題,並發哲學:Leroy 大概會更喜歡 Orleans
訪談裏最生動的一段,工作流 DAG 這類強結構化場景,而 C# 這個"共享內存出身"的語言,還多了一個編譯器 ,不可變值對象、這條混血路線走得最遠的其實是 C#——隻是它做得更隱蔽:
- LINQ
