この記事は英語記事の和訳です。英語の文章が最も最新なので、あくまで参考程度にしてください
Google Summer of Code (GSoC) に Improve Rust benchmark suite というプロジェクトで参加します。 つい数日前に正式なコーディング期間が始まったので、軽い紹介を書いておきます。
Announcing Google Summer of Code 2024 selected projects
GSoC は夏の間、学生を中心とした新たにOSSに取り組む人に対してメンターを付けてプロジェクトに取り組ませ、OSSコントリビュータを育成するプログラムです。今年で開催20周年で、私の採択されたRust Foundationは初めての参加でした。
このGSoCへの応募のために rustc-perf
へPRをいくつか送ったのが人生で初めての1OSSへの貢献だったので、途端に大きなプロジェクトに取り組み、尚且つコミュニケーションがほぼ全て英語という環境にまだ戸惑っています。また、日本では学期が4月に始まることもあり、プロジェクト期間のほとんどが夏休みではないことも心配ではありますが、最後まで頑張ろうと思います。
また、無事に修了できたらGSoCへの応募についての記事などを書くかもしれません。
rust-lang/rustc-perf は Rust 言語のコンパイラ rustc のパフォーマンスを計測・可視化するためのプロジェクトです。計測のための collector
と、その可視化のためのWebサイトである site
の二つで構成されます。
私のプロジェクトでは、この rustc-perf
プロジェクト、特にその site
を様々な手段で改善します。現時点で優先度の高いタスクをいくつか紹介します。
Embed query trace visualizer into rust-lang.org (RLO)
Add runtime benchmark graphs
rustc-perf
ではコンパイル時のパフォーマンスのベンチマークと、実行時のパフォーマンスのベンチマークが記録されています。しかし、ランタイムのベンチマークが収集され始めたのは去年頃で、まだコンパイル時のパフォーマンスのベンチマークに比べてWebサイト上での可視化が十分ではありません。もちろん、これらは一例であり、今後別のタスクを優先して取り組む可能性もありますが、現在は上記の2つに取り組んでいます。 また、合わせて小さな改善も行っていけると良いでしょう。
GSoC以外が忙しく、これまでに作業できたのは数日だけなのですが、現在までに、様々な query trace visualizer を試しました。例えば Perfetto や speedscope、Catapultなどです。
今私たちが求める(最低限の)要件は以下です:
rustc-perf
においてはその点はあまり重要ではないと判断し、一旦試してみました。また、先週 rustc-perf
に含まれるパッケージのアップデートを行いました。(これによって Highcharts の色が少しだけ変わりました)
今後も(おそらくは) プロジェクトと GSoC 2024 についての内容を投稿していこうと思います。何かあれば気軽に Zulip などでご連絡ください。
ドキュメントのタイポの修正などを除く ↩