最近看到一篇 Blog ,內容是如何調教 Flow.from_enumerable, 與 Flow.partition 的 :stages 與 :max_demand 參數。
第一篇是版主探討他怎麼用 flow 打造他期望的工作模型。
TUNING ELIXIR GENSTAGE/FLOW PIPELINE PROCESSING
第二篇是版主應回應的要求,教大家怎麼建立第一篇使用的工具。
MEASURING AND VISUALIZING GENSTAGE/FLOW WITH GNUPLOT
該版主用
1. File 作為紀錄時間搓的工具,並以 stage_work_name.log 為檔名。
2. gnuplot 讀取 log 並繪圖。
這種作法很好上手,大概一個小時內你就可以套在自己想要檢測的 flow 上了,其他需要尋找資料流卡點的,也可以套用這手法。
如何 log 與 製作圖表的 blog 包含 elixir code ,可以直接拿來用。所以本文不重複這塊。
推薦大家花一個小時左右的時間,把 log 與圖表那篇實作起來。
圖表工具與檢視併發執行情況的小套路講完了。
回到正題。其實是要嘗試呈現下圖描述的東西。
Elixir 不同的 Collection 的資料流,到底是怎麼一回事呢?上述的行為,跑起來真實樣貌是長怎樣的?