branch_hints
This crate provides the functions likely
and unlikely
that work as compiler hints for branching.
These functions enable constructions like
if likely else
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.