本系列聚焦於 C++ 程式設計與 Low-Latency 技術,透過五大主題深入探討低延遲系統的設計與優化,分享個人見解並在實作過程中持續提升專業能力。
無論是對 C++ 有興趣的初生之犢,或對 High Performance Computing 有經驗的武林高手,都歡迎加入這場艱難的學習之旅,挑戰自己的效能極限!
拖延了一個月,終於把這次的參賽主題拍板定案! 明明本人是個連 C++ 都還不夠熟練的大菜鳥,卻總是喜歡挑戰一些看起來生澀難懂的主題,把自己搞得緊張兮兮還不敢斷更...
去年曾經讀過《Effective C++》,當時對 Resource Acquisition Is Initialization (RAII) 的理解較為片面,...
在學習 C++ STL 時不能只知道 container 如何使用,更要理解 abstraction 背後的 runtime cost。例如 vector、li...
上一篇我們以 STL 為基點,探討 memory layout、cache locality、allocation 及 tail latency,並拆解 Low...
上一篇文的低延遲系統的大哉問中,提到了幾個在 compile time 常見且實用的語法。接下來我們將進一步拆解這些語法的運作方式,了解它們各自適合的使用情境,...
終於講完第一個小章節了!雖然有不少內容和《Effective C++》相關,但在重新複習的過程中依舊學到了新的知識點,也算是重新認識了一些以前忽略的細節。所以今...
在一般的 C++ 開發中,我們往往習慣從 source code 的角度思考問題: 這個 class 的 interface 是否設計得好? 這個 abstr...
同樣一段 C++ code,即使 algorithmic complexity 完全相同,產生的 machine code 也可能因為 branch patte...
在 Low-Latency C++ 系統中,效能瓶頸往往不在 CPU arithmetic,而是在 memory access。當 CPU 執行速度遠快於主記憶...
在真正追求 nanosecond-level latency 的 C++ 系統中,資料如何排列與存取就是效能的一大考量。上篇文章已經提到 Array of St...