博客 / 列表

hez2010 - Satori GC:同時做到高吞吐、低延時和低內存佔用

前言 GC 的設計裏一直有一個很難繞開的矛盾:高吞吐、低延時、低內存佔用,通常很難同時做到。 傳統做法裏,想要更短的停頓,往往要把更多工作搬到併發階段,甚至讓平時的對象訪問承擔更高成本;想要更高的吞吐量,又往往意味着平時路徑成本必須足夠低,於是更多工作會堆到回收階段;想要更低的內存佔用,則又需要更積極地回收、整理和歸還內存。 .NET 的 Satori GC 最有意思的地方不在於它把某個現有方向做

.net , 後端

hez2010 - TypedSql:在 C# 類型系統上實現一個 SQL 查詢引擎

前言 在 .NET 裏寫查詢的時候,很多場景下數據其實早就都在內存裏了:不是數據庫連接,也不是某個遠程服務的結果,而就是一個數組或者 ListT。我只是想過濾一下、投影一下。這時候,通常有幾種選擇: 寫一個 foreach 循環 —— 性能好、可控,但代碼稍微有點囉嗦; 用 LINQ —— 寫起來舒服,看起來也優雅,就是有迭代器、委託帶來的那點開銷; 要麼乾脆極端一點:把數據塞進數據庫,再

.net , 後端