#performance-optimization #unlikely #optimization #performance #likely

no-std likely_polyfill

cold_path, likely, and unlikely for non-nightly Rust

1 stable release

1.0.0 Aug 28, 2025

#1135 in Rust patterns

21 downloads per month

MIT or Apache-2.0

6KB

As a workaround to their stabilization in the standard library remaining perma-open, this crate provides the cold_path, likely, and unlikely hints built on the #[cold] annotation as copied and pasted from the standard library source.

Licensing

MIT or Apache-2.0 (since code was copied from the standard library)

Why not a pre-existing crate?

There are other pre-existing crates for this purpose, but they use different implementation patterns, and I tested this pattern already.

Why not just #cold?

I saw a case where

if cond1 {
    if cond2 {
        // ..
        break;
    }
}
cold_path();

seemed to optimize differently than

if likely(cond1) {
    if likely(cond2) {
        // ..
        break;
    }
}

so it probably makes sense to experiment.

No runtime deps