← Home

Improve Rust benchmark suite: An Overview

Published
2024-05-30
Tags
gsoc2024

I will participate in Google Summer of Code (GSoC) 2024 with a project titled “Improve Rust benchmark suite.” The official coding period started a few days ago, so I’d like to introduce my project.

Announcing Google Summer of Code 2024 selected projects

What’s GSoC?

GSoC is a program focused on bringing new contributors into OSS development. This year marks the 20th anniversary, and it’s the first time the Rust Foundation is participating.

I feel like it’s a huge challenge for me because this is my first time1 contributing to OSS. I’m working on a large project, and most of the communication is in English, which is different from my mother tongue. Additionally, since the academic semester in Japan starts in April, most of the project period is not during summer vacation. Anyway, I’ll do my best :)

If I finish the project, I might write another article about applying to GSoC.

About the Project

rust-lang/rustc-perf is a project that collects performance benchmarks for the Rust compiler, rustc. It’s composed of two crates: the collector for collecting benchmarks and the site for the website that visualizes them.

screnshot of perf.rust-lang.org

In my project, I’ll improve the rustc-perf project, especially the site crate. Here are some high-priority tasks:

These are just examples, and we might prioritize other tasks in the future, but currently, I’m working on these two. Additionally, I plan to make minor improvements along the way.

Current Progress

I’ve only had a few days to work on this project due to other commitments, but I’ve tried some query trace visualizers, such as Perfetto, speedscope, and Catapult.

The (minimum) requirements for the visualizer are:

I also made a PR to update npm packages used in rustc-perf (which slightly changed the colors in Highcharts.)

Conclusion

I’ll (hopefully) keep posting updates on my project and GSoC 2024. (I’ve been switching between ChatGPT, DeepL, and an English dictionary again and again to write this post…) Also, feel free to contact me on Zulip!

Footnotes

  1. Except for fixing typos