終於講完第一個小章節了!雖然有不少內容和《Effective C++》相關,但在重新複習的過程中依舊學到了新的知識點,也算是重新認識了一些以前忽略的細節。所以今天就讓自己輕鬆一點,換個方式來聊聊 Low-Latency C++。
這次不談過硬的技術細節,而是用一些生活中的比喻,來帶大家認識 Low-Latency C++。即使是沒有工程背景的小夥伴,希望也能藉此快速理解那些看似複雜的概念 :)
🚚小故事時間 —— 城市裡最快的外送員 Yoyo
Low-Latency 小鎮有一家外送店,為了贏得「年度最高效店家」的評選,接到訂單後想立刻把餐點送到客人手上。
一般外送員的流程是:
接單 → 看訂單 → 找餐 → 穿外套 → 發動機車 → 導航 → 上路 → 送達
雖然每個步驟看似只花一點點時間,但全部加起來可能要等好幾分鐘。就算員工勤勤懇懇使命必達,客人仍然常常抱怨出餐速度,因此負評連連。
轉機出現在某一天,店裡錄取了一位超低延遲外送員 Yoyo。她和別人不一樣,訂單一進來就回答「收到!」,而下一秒就開車出發了。這是因為她思慮周全:
這就是 Low-Latency 的概念。重點不只是跑得快,而是從「事情發生」到「程式做出反應」的時間,必須非常簡短且穩定。其迷人之處,並非讓外送員一直跑得很快,而是讓她幾乎隨時都能立刻出發。
而 C++ 就像這位外送員 Yoyo 手上的工具:
Low-Latency C++ 的技術也經常被應用在交易系統、即時行情、遊戲引擎等場景中。除了關注平均 1 ns 的高效能表現,更重視避免出現意外的毫秒級離群值。