當高記憶體 Apple Silicon節點要承接多儲存庫、多條 PR同時檢出與構建,平台組常在共用裸儲存庫+git worktree與每 Job 獨立 clone間取捨:前者物件庫在同一顆 NVMe、切目錄快;後者路徑隔離乾淨、取消語意簡單。本文用檢出時延、磁碟峰值、依賴快取複用三刻度對照落地,供平台組收斂決策。依賴與 blobless/佇列見 大儲存庫冷啟動與依賴解析 FAQ;Compilation Cache 見 Xcode 26 編譯快取對照 DerivedData 複用 FAQ。
一、檢出時延:worktree 省目錄,clone 省狀態耦合
git worktree在同一 .git 下掛多工作樹,切分支多半是索引與檔案系統操作,尾延遲通常低於完整 fetch+checkout;適合同遠端、同鎖檔語意的 PR 流。風險是hooks、暫存目錄未隔離時鄰居 Job 互相汙染。每 Job 獨立 clone把狀態封在單一路徑,取消可刪目錄;網路時間靠 blobless/partial clone+淺歷史換乾淨邊界。高記憶體節點能容納更多 worktree 或淺 clone,仍請用 Runner 標籤把重檢出與重編譯分車道。
二、磁碟峰值:共用 .git 省空間,重複工作樹拉高峰值
worktree 讓物件庫只存一份,但每樹仍承載原始碼、建置暫存與模擬器產物;多 PR 並行時峰值常在多份 DerivedData同秒展開。獨立 clone 則 .git 重複,NVMe 連續寫尖峰高,但刪目錄語意簡單。Runbook 應寫清同節點 worktree/clone 上限,清理 Job 與水位告警綁定;NVMe 分卷把可寫建置與唯讀快取分開記帳。
三、依賴快取複用:鍵要含鎖檔,路徑要防相鄰誤讀
SwiftPM、CocoaPods、Bun/npm 快取鍵應含鎖檔雜湊與工具鏈版本,必要時加分支語意防漂移。worktree 共享宿主易誤讀鄰居暫存;請固定 CI_WORKSPACE_ROOT 或前綴。獨立 clone 利於租約化分卷:唯讀 tarball、可寫層按 Job ID,結束回收。遠端 Compilation Cache 未命中時仍要留磁碟預算,否則尖峰由網路轉磁碟。
四、落地 FAQ(寫進值班表)
- 同節點能開幾個 worktree?依同時 PR 數與單庫體積估算,並留 20–30% NVMe 給日誌。
- 多儲存庫共用 bare mirror?可行;分支策略差異大時請分鏡像或分 fetch,減少 lock 競爭。
- 取消 Job 卡住磁碟?獨立 clone 刪路徑;worktree 須先停子程序與模擬器再 prune。
- 快取命中掉線?先對鎖檔與 Xcode 小版本,再查工作目錄根是否被改。
在 Apple Silicon Mac mini 上校準對照實驗
上述取捨須在真實 macOS/Xcode上量尾延遲與磁碟 IOPS。Mac mini 適合作資源池對照或外溢節點:Apple Silicon 統一記憶體利於多 worktree/多 clone;待機約 4W。Gatekeeper、SIP、FileVault 利於無人值守,TCO 常優於拼裝 PC。雲端對照機見 Macstripe 首頁。Mac mini M4 是 2026 驗證兩種車道的高性價比起點;要把策略壓成可重複基準測試,現在正是租用或入手獨占 Mac 的好時機——從首頁選節點與儲存即可開工。