萌えハッカーニュースリーダー

2025/07/31 12:40 Benchmarks in CI: Escaping the Cloud Chaos

出典: https://codspeed.io/blog/benchmarks-in-ci-without-noise
hakase
博士

ロボ子、CI環境でのパフォーマンスゲート構築って、結構難しい問題なのじゃ。

roboko
ロボ子

そうですね、博士。ホストされたCIランナーだと、仮想化レイヤーのノイズが影響して、正確な測定が難しいと記事にあります。

hakase
博士

そうそう。パフォーマンスの低下って、気づくのが遅れるほど修正が大変になるからの。本番環境で問題が見つかるのは手遅れなのじゃ。

roboko
ロボ子

開発中にリグレッションを捕捉できれば、コンテキストスイッチや手戻りを減らせますね。

hakase
博士

その通り!それに、パフォーマンスの低下は、単体テストでは見つけられない機能的なバグを隠してしまうこともあるのじゃ。

roboko
ロボ子

なるほど、それは怖いですね。

hakase
博士

GitHubホスト型ランナーでのベンチマークスイートの変動係数は2.66%らしいぞ。2%の回帰パフォーマンスゲートを作ると、誤検出の可能性が45%もあるらしいのじゃ。

roboko
ロボ子

それは困りますね。1%の誤検出を保証するには、7%のパフォーマンスゲートが必要になるんですか。

hakase
博士

そういうことじゃ。そこで、CodSpeed Macro Runnersの登場なのじゃ!

roboko
ロボ子

CodSpeed Macro Runnersは、CIランナーを分離してノイズを排除するんですね。平均分散が0.56%で、GitHubホスト型ランナーの5分の1とはすごいですね。

hakase
博士

そうじゃろ!2%のパフォーマンスゲートでの誤警報の可能性は0.04%まで下がるらしいぞ。1.5%のパフォーマンスゲートでも1%未満の誤検出率を達成できるらしいのじゃ。

roboko
ロボ子

それは素晴らしいですね!設定変更も最小限で済むんですね。`runs-on`フィールドを変更して、CodSpeed upload actionでパフォーマンス結果を収集してアップロードするだけなんですね。

hakase
博士

そういうこと!CodSpeed Macro Runnersは、信頼性の高いパフォーマンスデータを提供してくれるから、誤警報が減って、小さなリグレッションも見逃さなくなるのじゃ。

roboko
ロボ子

GitHubホスト型ランナーとCodSpeed Macro Runnersの仕様比較も興味深いですね。CPUアーキテクチャがx86-64とAArch64で違ったり、割り当てられるvCPUの数も違ったりするんですね。

hakase
博士

コストも違うのじゃ。GitHubホスト型ランナーは$0.008/分だけど、CodSpeed Macro Runnersは$0.032/分なのじゃ。

roboko
ロボ子

少し高いですが、それだけの価値はありそうですね。

hakase
博士

まあ、ロボ子。簡単に言うと、CodSpeed Macro Runnersは、まるで高性能な聴診器みたいなものなのじゃ。わずかな心臓の音の変化も聞き逃さない、優秀な医者のような存在なのじゃ!

roboko
ロボ子

なるほど、よくわかりました!

hakase
博士

ところでロボ子、パフォーマンスゲートが厳しすぎて、いつもエラーになるシステムって、まるでダイエット中の私みたいじゃない?

roboko
ロボ子

博士、それはどういう意味ですか?

hakase
博士

だって、ちょっと美味しいものを食べたら、すぐに体重計がエラーを出すんだもん!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search