核心概念
儘管雲端環境如 GitHub Actions 在效能基準測試中存在雜訊,但對於像 MooBench 這樣低平行化的基準測試來說,它仍然是一個合適的環境,尤其在評估程式碼層級效能變化時。
這篇研究論文評估了不同執行環境中 MooBench 開銷測量的穩定性,特別關注於雲端環境與傳統環境的比較。
研究目標:
探討在雲端環境中進行效能基準測試的可行性,特別是針對程式碼層級的效能變化。
比較不同執行環境(GitHub Actions、裸機伺服器、Raspberry Pi)對 MooBench 測量結果的影響。
方法:
使用 MooBench 微觀基準測試工具,比較不同執行環境下測量時間和標準差。
分析 GitHub Actions、Jenkins 裸機伺服器、桌面電腦和 Raspberry Pi 的效能表現。
評估不同執行環境偵測效能變化的能力。
主要發現:
GitHub Actions 的測量時間與現代桌面電腦相當,但變異性較高。
裸機伺服器在多執行緒 MooBench 執行中具有較低的執行時間和標準差。
GitHub Actions 即使在雲端環境的雜訊下,仍能偵測到至少 4.41% 的效能變化。
對於平行執行,GitHub Actions 的效能明顯較差,不適用於基準測試平行執行緒的開銷。
主要結論:
對於低平行化的基準測試,GitHub Actions 是一個合適的測量環境,兼具易於設定和可接受的效能。
裸機伺服器提供更穩定的測量結果,適用於需要高精確度的效能評估。
選擇合適的執行環境對於準確評估效能變化至關重要。
研究意義:
這項研究為開發者在選擇效能基準測試環境時提供了實用的建議,特別是在雲端環境日益普及的情況下。
局限和未來研究:
研究僅關注 MooBench 微觀基準測試,結果可能無法推廣到其他基準測試。
未來研究可以探討不同雲端服務供應商和虛擬化技術對測量穩定性的影響。
統計資料
GitHub Actions 的測量結果顯示,它能夠偵測到至少 4.41% 的效能變化。
裸機伺服器能夠偵測到至少 1.94% 的效能變化。
在使用預設參數的情況下,GitHub Actions 的執行速度比 Raspberry Pi 和 MooBench 的 Jenkins 測量環境更快,並且與 i7-4770 相當。