branch_hints

Crates.iobranch_hints
lib.rsbranch_hints
version0.4.10
sourcesrc
created_at2022-12-22 13:46:54.294985
updated_at2024-11-20 23:07:02.816768
descriptionCrate that provides likely and unlikely branch hint functions in stable Rust.
homepage
repositoryhttps://github.com/JSorngard/branch_hints
max_upload_size
id743896
size19,815
Johanna Sörngård (JSorngard)

documentation

README

branch_hints

Crates.io Version docs.rs Static Badge

This crate provides the functions likely and unlikely that work as compiler hints for branching.

These functions enable constructions like

if likely(condition) {
    // main code
} else {
    // error handling code
}

and they should be optimized away by the compiler.

Credit

The functions are taken directly from the hashbrown crate and this crate simply exposes them, all credit belongs to the hashbrown authors.

Note

This is a very minimal crate. If you want more comprehensive functionality, take a look at the likely_stable crate.

Verify for yourself with benchmarks if these functions do anything for you, as even the unstable intrinsics sometimes don't do anything: https://github.com/rust-lang/rust/issues/88767. This implementation of them was removed from hashbrown for this reason: https://github.com/rust-lang/hashbrown/issues/482.


License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Commit count: 71

cargo fmt