diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-01-26 12:18:05 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-05-07 16:00:37 -0400 |
commit | fb3e29a7c0876c9c0cd732df04e31c43203ea790 (patch) | |
tree | 099ac80a904cbd0657bc4e2e9c399fd035d4e5ba /include/linux/fpga/fpga-mgr.h | |
parent | fb0f40125feec3de7ef4524600ac83946207117e (diff) |
eytzinger: Promote to include/linux/
eytzinger trees are a faster alternative to binary search. They're a bit
more expensive to setup, but lookups perform much better assuming the
tree isn't entirely in cache.
Binary search is a worst case scenario for branch prediction and
prefetching, but eytzinger trees have children adjacent in memory and
thus we can prefetch before knowing the result of a comparison.
An eytzinger tree is a binary tree laid out in an array, with the same
geometry as the usual binary heap construction, but used as a search
tree instead.
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'include/linux/fpga/fpga-mgr.h')
0 files changed, 0 insertions, 0 deletions