BT

Swiftのベンチマーキングスイートがオープンソース化

| 作者: Sergio De Simone フォローする 17 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2016年2月26日. 推定読書時間: 2 分 |

原文(投稿日:2016/02/12)へのリンク

AppleがSwiftのベンチマーキングスイートをオープンソース化した。これはSwiftのパフォーマンスをトラックし、言語に新機能を追加した時のパフォーマンスリグレッションの捕捉に重要だ。

Swiftのベンチマーキングスイートは、テストスイートとベンチマーキングヘルパー関数を実装したSwiftのソースファイルと、テストハーネスとメトリクス比較に便利なものを実装した多数のPythonスクリプトで構成されている。

Appleは、パフォーマンスに影響のありそうな変更をコミットする前、そしてプルリクエストをサブミットする前に、build-script--benchmarkフラグを指定して、ベンチマーキングスイートを走らせることを推奨する。build-scriptはSwiftのビルド自動化スクリプトで、SwiftコンパチブルなLLDBのビルド、指定プラットフォームのためのビルド、ビルド後のテスト実行などの基本的なタスクを担当するものだ。ベンチマーキングスイートは潜在的なパフォーマンスリグレッションを捕捉するのに役立つ。ベンチマーク結果を意味のあるものにするため、最初にSwiftのmasterブランチでベースラインとなるベンチーマークを取っておき、それから開発ブランチでベンチマークを再実行すると良いだろう。結果は以前の実行結果と自動的に比較される。

デフォルトでは、SwiftベンチマークはOS X用でのみコンパイルされるが、コマンドラインで追加のプラットフォームを指定することができる。

$ swift/utils/build-script --ios --watchos --tvos

ベンチマークドライバを使うことで、開発者は各テストサンプルの反復回数や各テストに要するサンプル数などをコントロールすることができる。

$ ./Benchmark_O --num-iters=1 --num-samples=1

AppleのエンジニアLuke Larsonによると、Swiftのベンチマーキングスイートには現時点で75のベンチマークが含まれるが、Appleはヘルパーライブラリや一般的な改善のための新しいベンチマークの寄贈を呼びかけている。Larsonによると、重要な要件はlicense as Swiftと同じライセンスをカバーすることだ。それ以外のライセンスは受け付けられない。

Swiftのベンチマーキングスイートは現時点では、最近発表されたSwift CI(継続的インテグレーション)システムに統合されていない。Swift CIはOS X、iOS、x86_64 Ubuntu Linuxのためのビルトとテスト実行を行うものだ。これはJenkinsをベースとし、Swift開発コミュニティからもたらされるプラットフォームとアーキテクチャをさらにサポートすることを目指している。Swift CIシステムはプルリクエスト内、すなわちmasterにコミットされる前にテストを実行し、当該開発者に問題を通知することができる。Larsonによると、今後、SwiftのベンチマーキングスイートはSwift CIシステムに統合されるそうだ。

Rate this Article

Relevance
Style

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT