Skip to content

Major LLVM passes perf regression #22233

Closed
@larsbergstrom

Description

@larsbergstrom

@dotdash is investigating a potential solution to this - he suspects that "might be because I dropped the PassInfo cache patches because upstream had changes of which I thought that they do the same thing"

This regression has nearly doubled Servo's build times, and is centralized in the LLVM passes, though it varies from module to module (as shown in the timing output below for our main crate):

After rustup:
time: 7.897     translation
  time: 0.145   llvm function passes
  time: 0.123   llvm module passes
  time: 8.162   codegen passes
  time: 0.001   codegen passes
time: 8.575     LLVM passes
  time: 1.472   running linker
time: 5.858     linking


Before rustup
time: 7.512     translation
  time: 0.142   llvm function passes
  time: 0.110   llvm module passes
  time: 4.762   codegen passes
  time: 0.001   codegen passes
time: 5.154     LLVM passes
  time: 1.507   running linker
time: 6.043     linking

Metadata

Metadata

Assignees

No one assigned

    Labels

    I-compiletimeIssue: Problems and improvements with respect to compile times.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions