Skip to content

Tracking issue for linker performance #762

Open
@bjorn3

Description

@bjorn3

cg_llvm

simple-raytracer $ for i in 0 1 2 3 4 5 6 7 8 9; do rm -r target/debug/{deps/libraytracer-*,incremental}; cargo rustc --bin main -- -Ztime-passes 2>/dev/null | grep linking; done
  time: 0.792; rss: 202MB       linking
  time: 0.789; rss: 202MB       linking
  time: 0.793; rss: 202MB       linking
  time: 0.789; rss: 203MB       linking
  time: 0.795; rss: 202MB       linking
  time: 0.788; rss: 203MB       linking
  time: 0.786; rss: 206MB       linking
  time: 0.796; rss: 204MB       linking
  time: 0.790; rss: 201MB       linking
  time: 0.795; rss: 203MB       linking

cg_clif

simple-raytracer $ for i in 0 1 2 3 4 5 6 7 8 9; do rm -r target/x86_64-unknown-linux-gnu/debug/{deps/libraytracer-*,incremental}; CHANNEL=release ../cargo.sh rustc --bin main -- -Ztime-passes 2>/dev/null | grep linking; done
  time: 0.923; rss: 150MB       linking
  time: 0.924; rss: 150MB       linking
  time: 0.915; rss: 151MB       linking
  time: 0.925; rss: 151MB       linking
  time: 0.915; rss: 152MB       linking
  time: 0.920; rss: 151MB       linking
  time: 0.923; rss: 150MB       linking
  time: 0.913; rss: 150MB       linking
  time: 0.922; rss: 150MB       linking
  time: 0.922; rss: 151MB       linking

The linker is responsible for more than half of the compilation time of simple-raytracer's lib and bin combined when using cg_clif.

Metadata

Metadata

Assignees

No one assigned

    Labels

    compile-timeHow fast is the code compiled

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions