bencher runでのブランチ選択


git参照(つまり、ブランチ名やタグ)はBranchです。 bencher run CLIサブコマンドを使用する場合、 --branchオプションまたはBENCHER_BRANCH環境変数でBranchを選択します。 デフォルトでは、すべてのプロジェクトはmainブランチから始まり、 指定されていない場合、デフォルトでmainが使用されます。

継続的ベンチマーク、つまりCIでのベンチマークを行う場合、 既存のブランチに基づいてbranchを作成したり、リベースしたりすることがよくあります。 これはブランチのスタートポイントと呼ばれます。 スタートポイントは、特定のバージョン(および利用可能であればgitハッシュ)である別のブランチです。 bencher run CLIサブコマンドを使用する場合、 --branch-start-pointオプションでスタートポイントを選択します。 さらに、--branch-start-point-hashオプションを使用して、スタートポイントの特定のgitハッシュを指定します。 すべてのデータと閾値はスタートポイントからコピーされます。

--branch <BRANCH>


ブランチを選択するには、--branch オプションまたは BENCHER_BRANCH 環境変数を、 ブランチの名前、スラグ、またはUUIDに設定します。 指定された値が名前またはスラグで、ブランチがまだ存在しない場合は、そのブランチが作成されます。 しかし、指定された値がUUIDの場合は、そのブランチは既に存在していなければなりません。 両方が指定された場合、--branch オプションが BENCHER_BRANCH 環境変数より優先されます。

指定されていない場合、Bencher CLIは現在のgitブランチを見つけようとします。 まず、現在の作業ディレクトリでgitリポジトリを探します。 成功しない場合は、親ディレクトリに移動してルートディレクトリまで再試行します。 gitリポジトリが見つかった場合は、現在の短いブランチ名が使用されます。 しかし、gitリポジトリが見つからない場合は、mainがデフォルトのブランチとして使用されます。

--branch-start-point <BRANCH>


特定のブランチ名、スラッグ、またはUUIDを開始点として使用し、branchオプション用のスタートポイントとします。 GitHubでは通常、プルリクエストの基本ブランチ (base ブランチ)がこれにあたり、GitLabではマージリクエストの目標ブランチ (target ブランチ)がこれにあたります。 --branch-start-pointの主な使用ケースは統計的継続的ベンチマーキングです。

  • 指定された開始点が空文字列の場合、このオプションは無視されます。
  • branchが存在しない場合は、この開始点を使用して作成されます。
  • branchが存在し、開始点が同じ場合、このオプションは無視されます。
  • branchが存在し、開始点が異なる場合、 既存のbranchの名前が変更され、 この更新された開始点を使用して新しいbranchが作成されます。

開始点を持つ新しいbranchが作成されると、 指定された開始点からすべてのデータとしきい値がコピーされます。

例えば、feature_branchがまだ存在せず、mainが存在して履歴データを持っている場合、 --branch feature_branch --branch-start-point mainを使用すると:

  1. feature_branchという名前の新しいブランチが作成される
  2. mainからfeature_branchに全てのデータとしきい値がコピーされる
  3. bencher runfeature_branchを使用して進行します

🐰 注意: 環境変数を使用する場合は、二重引用符で囲むべきです(例 --branch-start-point "$MY_BRANCH_ENV_VAR")、 MY_BRANCH_ENV_VARが未定義の場合にbencher runがエラーにならないようにする場合。

--branch-start-point-hash <HASH>


branchオプションのスタートポイントとして指定された完全なGitハッシュを使用します。 このオプションは、--branch-start-pointオプションが設定されている場合にのみ必要です。

  • branchが存在しない場合、指定されたハッシュでbranch-start-pointから作成されます。
  • branchが存在し、branch-start-pointと指定されたハッシュが同じ場合、 このオプションは無視されます。
  • branchが既に存在し、branch-start-pointまたは指定されたハッシュが異なる場合、 古いバージョンのbranchはリネームされ、 指定されたハッシュでbranch-start-pointから新しいbranchが作成されます。

新しいbranchがスタートポイントで作成される場合、 指定されたハッシュでのbranch-start-pointからすべてのデータとしきい値がコピーされます。

例えば、feature_branchがそのスタートポイントがmainブランチでハッシュ32aea434d751648726097ed3ac760b57107edd8bで存在する場合、 --branch feature_branch --branch-start-point main --branch-start-point-hash 68b12758509ca5e2b1e3983525625e532eb5f562を使用すると:

  1. 古いfeature_branchfeature_branch@main/hash/32aea434d751648726097ed3ac760b57107edd8bにリネームします。
  2. feature_branchという新しいブランチを作成します。
  3. mainのハッシュ68b12758509ca5e2b1e3983525625e532eb5f562からすべてのデータとしきい値を新しいfeature_branchにコピーします。
  4. bencher runは新しいfeature_branchを使用して実行されます。

--branch-reset


指定された branch をリセットします。 --branch-reset の主な使用例は[相対的継続ベンチマーキング][relative continuous benchmarking]です。 このフラグは --branch-start-point オプションと競合します。

  • branch が存在しない場合、作成されます。
  • branch が存在する場合、旧バージョンの branch がリネームされ、 新しい branch が作成されます。

新しい branch が作成されると、過去のデータやしきい値は含まれません。

例えば、スタートポイントのない feature_branch が存在する場合、 --branch feature_branch --branch-reset を使用すると次のようになります。

  1. 古い feature_branchfeature_branch@detached にリネーム
  2. feature_branch という名前の新しいブランチを作成
  3. bencher run は新しい feature_branch を使用して進行します

🐰 おめでとうございます!ブランチ選択に関するすべてを学びました!🎉


続ける: ベンチマークハーネスアダプター ➡

🤖 このドキュメントは OpenAI GPT-4 によって自動的に生成されました。 正確ではない可能性があり、間違いが含まれている可能性があります。 エラーを見つけた場合は、GitHub で問題を開いてください。.


Published: Fri, October 27, 2023 at 8:40:00 AM UTC | Last Updated: Thu, May 9, 2024 at 9:23:00 AM UTC