Crates.io | branch_hints |
lib.rs | branch_hints |
version | 0.4.10 |
source | src |
created_at | 2022-12-22 13:46:54.294985 |
updated_at | 2024-11-20 23:07:02.816768 |
description | Crate that provides likely and unlikely branch hint functions in stable Rust. |
homepage | |
repository | https://github.com/JSorngard/branch_hints |
max_upload_size | |
id | 743896 |
size | 19,815 |
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.
The functions are taken directly from the hashbrown
crate and this crate simply exposes them, all credit belongs to the hashbrown authors.
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.