Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

std: Cut down #[inline] annotations where not necessary #43367

Merged
merged 1 commit into from
Jul 22, 2017

Commits on Jul 20, 2017

  1. std: Cut down #[inline] annotations where not necessary

    This PR cuts down on a large number of `#[inline(always)]` and `#[inline]`
    annotations in libcore for various core functions. The `#[inline(always)]`
    annotation is almost never needed and is detrimental to debug build times as it
    forces LLVM to perform inlining when it otherwise wouldn't need to in debug
    builds. Additionally `#[inline]` is an unnecessary annoation on almost all
    generic functions because the function will already be monomorphized into other
    codegen units and otherwise rarely needs the extra "help" from us to tell LLVM
    to inline something.
    
    Overall this PR cut the compile time of a [microbenchmark][1] by 30% from 1s to
    0.7s.
    
    [1]: https://gist.github.com/alexcrichton/a7d70319a45aa60cf36a6a7bf540dd3a
    alexcrichton committed Jul 20, 2017
    Configuration menu
    Copy the full SHA
    53d8b1d View commit details
    Browse the repository at this point in the history