WinDBG - Check memory leak with dumpheap

要檢查程式的 Memory leak,我們可以在程式物件應該被釋放時抓取 Dump 檔案,像是程式運行後隔一陣子,理論上 GC 應該已經將物件回收時抓取,抓取後就可以用 WinDBG 進一步的分析。 ...

March 19, 2016 · 1 min · 373 words · Larry Nung

Disruptor - High Performance Inter-Thread Messaging Library

Disruptor 是 LMAX 提出的高效線程通信套件,能夠以很低的延遲產生很大量的吞吐量,實務上 LMAX 藉此得以在一個線程裡每秒處理6百萬訂單。 ...

March 19, 2016 · 2 min · 521 words · Larry Nung

Disruptor - Diamond: 1P – 3C

使用 Disruptor 時我們必須決定資料要怎樣在 Consumer 間流動,這有些常用的 Pattern 可供參考,只要熟悉這些 Pattern 那 Consumer 間有多複雜的協作應該都不是問題。 ...

March 18, 2016 · 1 min · 496 words · Larry Nung

Disruptor - Multicast: 1P – 3C

使用 Disruptor 時我們必須決定資料要怎樣在 Consumer 間流動,這有些常用的 Pattern 可供參考,只要熟悉這些 Pattern 那 Consumer 間有多複雜的協作應該都不是問題。 ...

March 16, 2016 · 1 min · 389 words · Larry Nung

Disruptor - Three Step Pipeline: 1P – 3C

使用 Disruptor 時我們必須決定資料要怎樣在 Consumer 間流動,這有些常用的 Pattern 可供參考,只要熟悉這些 Pattern 那 Consumer 間有多複雜的協作應該都不是問題。 ...

March 15, 2016 · 2 min · 637 words · Larry Nung

Disruptor - Unicast: 1P - 1C

使用 Disruptor 時我們必須決定資料要怎樣在 Consumer 間流動,這有些常用的 Pattern 可供參考,只要熟悉這些 Pattern 那 Consumer 間有多複雜的協作應該都不是問題。 ...

March 14, 2016 · 1 min · 348 words · Larry Nung

Disruptor - Getting started

要使用 Disruptor 必須先將套件加入專案中,透過 NuGet 將之載入即可: ...

March 13, 2016 · 2 min · 643 words · Larry Nung

Disruptor - Ringbuffer

Ringbuffer 是 Disruptor 的核心部分,使用 Disruptor 一定會圍繞著 Ringbuffer,Producer 會往 Ringbuffer 塞資料,Consumer 會從 RingBuffer 消費資料,且必須要觀察 Ringbuffer 的使用狀況並視情況調整架構或是其大小。所以使用 Disruptor 必須要對 Ringbuffer 有一定的認知。 ...

March 12, 2016 · 2 min · 584 words · Larry Nung

T4 template - CultureNames.tt

.NET 在操作 Culture 時,免不了要帶入 CultureInfo 的 Name,多半是用 Hard code 的形式帶入,像是下面這樣: ...

March 8, 2016 · 5 min · 2270 words · Larry Nung

log4net - BufferingForwardingAppender

為了調效 log4net RollingFileAppender 的性能做了個簡單的測試,測試程式如下: ...

March 2, 2016 · 1 min · 427 words · Larry Nung