Skip to content

hsivonen/likely_polyfill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

cold_path, likely, and unlikely for non-nightly Rust

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages