rust-lang / rustc-perf

Website for graphing performance of rustc

Home Page:https://perf.rust-lang.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`size:` metrics vs Artefact size

fbstj opened this issue · comments

is there any plans/scope for "extracting" the size: metrics out from under the "compile-time" header now that there's a grouping for artefact sizes?

or am I entirely missing the point?

Hi, these two things represent slightly different things, but it's not so intuitive to understand that at the moment. In theory, it could be unified, but probably it's not worth it (see below).

The size: metrics contain the sizes of crates compiled by rustc. It contains metadata sizes, binary executable sizes, etc., for crates like syn or serde. This size if affected by changes that we make to the logic of rustc.

The "artifact size" tab contains the size of the Rust compiler binaries and libraries. So what is the size of the compiler itself. This size is affected by changes that we make to the logic of rustc (because rustc is compiled by rustc :) ), but also by changes that we make to the way we build and distribute rustc, and also unrelated things (e.g. the way we build and distribute LLVM).

Since the size: metrics belong to the compilation benchmarks, I suppose that it makes sense to group them with the other metrics (like instruction count or wall-time). The compiler artifact sizes are totally separate and they wouldn't really fit within the compilation benchmark table.