論文の概要: Does Using Bazel Help Speed Up Continuous Integration Builds?
- arxiv url: http://arxiv.org/abs/2405.00796v1
- Date: Wed, 1 May 2024 18:16:38 GMT
- ステータス: 処理完了
- システム内更新日: 2024-05-03 20:32:52.767066
- Title: Does Using Bazel Help Speed Up Continuous Integration Builds?
- Title(参考訳): Bazelは継続的インテグレーションビルドの高速化に役立つか?
- Authors: Shenyu Zheng, Bram Adams, Ahmed E. Hassan,
- Abstract要約: Bazelのような新しいアーティファクトベースのビルド技術は、高度なパフォーマンス最適化をサポートする。
GitHubから383のBazelプロジェクトを収集し、人気の高い4つのCIサービスでBazelの並列およびインクリメンタルビルド使用状況を調査し、結果をMavenプロジェクトと比較しました。
私たちの結果は、Bazelプロジェクトの31.23%がCIサービスを採用しているが、CIサービスには使用していないことを示している。
- 参考スコア(独自算出の注目度): 9.098224117917336
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: A long continuous integration (CI) build forces developers to wait for CI feedback before starting subsequent development activities, leading to time wasted. In addition to a variety of build scheduling and test selection heuristics studied in the past, new artifact-based build technologies like Bazel have built-in support for advanced performance optimizations such as parallel build and incremental build (caching of build results). However, little is known about the extent to which new build technologies like Bazel deliver on their promised benefits, especially for long-build duration projects. In this study, we collected 383 Bazel projects from GitHub, then studied their parallel and incremental build usage of Bazel in 4 popular CI services, and compared the results with Maven projects. We conducted 3,500 experiments on 383 Bazel projects and analyzed the build logs of a subset of 70 buildable projects to evaluate the performance impact of Bazel's parallel builds. Additionally, we performed 102,232 experiments on the 70 buildable projects' last 100 commits to evaluate Bazel's incremental build performance. Our results show that 31.23% of Bazel projects adopt a CI service but do not use Bazel in the CI service, while for those who do use Bazel in CI, 27.76% of them use other tools to facilitate Bazel's execution. Compared to sequential builds, the median speedups for long-build duration projects are 2.00x, 3.84x, 7.36x, and 12.80x, at parallelism degrees 2, 4, 8, and 16, respectively, even though, compared to a clean build, applying incremental build achieves a median speedup of 4.22x (with a build system tool-independent CI cache) and 4.71x (with a build system tool-specific cache) for long-build duration projects. Our results provide guidance for developers to improve the usage of Bazel in their projects.
- Abstract(参考訳): 長期の継続的インテグレーション(CI)ビルドでは、開発活動を開始する前に、CIフィードバックを待たなければならないため、時間が無駄になる。
過去に調査されたさまざまなビルドスケジューリングとテスト選択のヒューリスティックに加えて、Bazelのようなアーティファクトベースの新しいビルド技術は、並列ビルドやインクリメンタルビルド(ビルド結果のキャッシュ)といった高度なパフォーマンス最適化をサポートしています。
しかしながら、Bazelのような新しいビルド技術が、特に長期のプロジェクトにおいて、約束された利益をもたらすかについては、ほとんど分かっていない。
この調査では、GitHubから383のBazelプロジェクトを収集し、人気の高い4つのCIサービスでBazelの並列およびインクリメンタルビルド使用状況を調査し、結果をMavenプロジェクトと比較しました。
383のBazelプロジェクトで3500の実験を行い、70のビルド可能なプロジェクトのサブセットのビルドログを分析して、Bazelの並列ビルドのパフォーマンスへの影響を評価しました。
さらに、70のビルド可能なプロジェクトの過去100のコミットに対して、102,232の実験を行い、Bazelのインクリメンタルビルドパフォーマンスを評価しました。
私たちの結果は、Bazelプロジェクトの31.23%がCIサービスを採用しているが、CIサービスにはBazelを使用していないことを示している。
シーケンシャルビルドと比較すると、ビルド時間の中央値は2.0x, 3.84x, 7.36x, 12.80xで、並列性は2.4, 8, 16であり、クリーンビルドと比較して、インクリメンタルビルドは4.22x(ビルドシステムツールに依存しないCIキャッシュ)と4.71x(ビルドシステムツール固有のキャッシュ)の中央値のスピードアップを達成する。
私たちの結果は、開発者がプロジェクトにおけるBazelの使用を改善するためのガイダンスを提供します。
関連論文リスト
- Local Software Buildability across Java Versions (Registered Report) [0.0]
Javaのバージョン6から23をインストールしたコンテナで、すべてのプロジェクトを自動ビルドしようとします。
成功または失敗は終了コードによって決定され、標準出力とエラーストリームは保存される。
論文 参考訳(メタデータ) (2024-08-21T11:51:00Z) - PruningBench: A Comprehensive Benchmark of Structural Pruning [50.23493036025595]
textitPruningBenchと呼ばれる、構造的プルーニングのための最初の包括的なベンチマークを提示する。
PruningBenchは、多様な構造的プルーニング技術の有効性を評価するために、統一的で一貫したフレームワークを使用している。
将来の刈り取り方法の実装を容易にするための実装が容易なインターフェースを提供し、その後の研究者が自身の作業をリーダボードに組み込めるようにします。
論文 参考訳(メタデータ) (2024-06-18T06:37:26Z) - Long Code Arena: a Set of Benchmarks for Long-Context Code Models [75.70507534322336]
Long Code Arenaは、プロジェクト全体のコンテキストを必要とするコード処理タスクのための6つのベンチマークスイートである。
これらのタスクは、ライブラリベースのコード生成、CIビルドの修復、プロジェクトレベルのコード補完、コミットメッセージ生成、バグローカライゼーション、モジュールの要約といった、コード処理のさまざまな側面をカバーする。
各タスクに対して、テスト用の手作業によるデータセット、評価スイート、オープンソースのベースラインソリューションを提供しています。
論文 参考訳(メタデータ) (2024-06-17T14:58:29Z) - Detecting Build Dependency Errors in Incremental Builds [13.823208277774572]
インクリメンタルビルドのコンテキストにおいて、ビルド依存性のエラーを検出するためにECheckerを提案する。
ECheckerは、C/C++プリプロセッサディレクティブと新しいコミットからのMakefile変更を推論することで、実際のビルド依存関係を自動的に更新する。
ECheckerはビルド依存性のエラー検出効率を平均85.14倍に向上させる。
論文 参考訳(メタデータ) (2024-04-20T07:01:11Z) - Reproducibility of Build Environments through Space and Time [0.0]
機能的なパッケージマネージャは、空間と時間で再現可能なビルド環境を提供するツールを提供する、と私たちは主張する。
我々は,約700万のNixパッケージのビルド環境を再現し,6年前のNixsリビジョンから1万1千パッケージの99.94%を再構築可能であることを示す。
論文 参考訳(メタデータ) (2024-02-01T08:45:28Z) - DevEval: Evaluating Code Generation in Practical Software Projects [52.16841274646796]
我々はDevEvalという名の新しいベンチマークを提案し、実践プロジェクトにおける開発者の経験と一致している。
DevEvalは、119の実用的なプロジェクトから2,690のサンプルを含む厳格なパイプラインを通じて収集される。
DevEvalの5つの人気のあるLCMを評価し、コード生成における実際の能力を明らかにする。
論文 参考訳(メタデータ) (2024-01-12T06:51:30Z) - Mixtral of Experts [57.411379935325435]
Mixtral 8x7Bはスパース・ミックス・オブ・エキスパートズ(SMOE)言語モデルである。
Mixtralは数学、コード生成、多言語ベンチマークでLlama 270Bをはるかに上回っている。
また、GPT-3.5 Turbo、Claude-2.1、Gemini Pro、Llama 2 70Bを超越したMixtral 8x7B - Instructという命令に従うように微調整されたモデルも提供する。
論文 参考訳(メタデータ) (2024-01-08T18:47:34Z) - LongBench: A Bilingual, Multitask Benchmark for Long Context Understanding [58.20031627237889]
LongBenchは、コンテキスト理解のための最初のバイリンガルでマルチタスクのベンチマークである。
英語と中国語の6つのタスクカテゴリにまたがる21のデータセットで構成され、平均的な長さは6,711語(英語)と13,386文字(中国語)である。
論文 参考訳(メタデータ) (2023-08-28T11:53:40Z) - Hexatagging: Projective Dependency Parsing as Tagging [63.5392760743851]
文中の単語を有限個の可能なタグの要素でタグ付けすることで、依存関係木を構成する新しい依存性であるヘキサトガーを導入する。
私たちのアプローチは、トレーニング時に完全に並列化可能です。すなわち、依存関係のパースを構築するのに必要な構造構築アクションは、互いに並列に予測できます。
我々はPenn Treebankテストセット上で96.4 LASと97.4 UASの最先端性能を実現する。
論文 参考訳(メタデータ) (2023-06-08T18:02:07Z) - The Impact of a Continuous Integration Service on the Delivery Time of
Merged Pull Requests [8.108605385023939]
私たちは、CIサービス(TravisCI)を採用することで、統合されたPRを提供する時間を短縮できるかどうか調査する。
当社の結果から,CIサービスの採用がマージPRのデリバリを迅速化するとは限らないことが分かる。
CIが提供する自動化と開発者の自信の向上は、CIサービスを採用する上で重要なメリットである。
論文 参考訳(メタデータ) (2023-05-25T10:59:35Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。