haproxy/include/import
Willy Tarreau 3dda813d54 IMPORT: eb32/64: optimize insert for modern CPUs
Similar to previous patches, let's improve the insert() descent loop to
avoid discovering mandatory data too late. The change here is even
simpler than previous ones, a prefetch was installed and troot is
calculated before last instruction in a speculative way. This was enough
to gain +50% insertion rate on random data.

This is ebtree commit e893f8cc4d44b10f406b9d1d78bd4a9bd9183ccf.
2025-09-17 14:30:32 +02:00
..
atomic-ops.h MAJOR: threads/plock: update the embedded library again 2023-08-11 19:03:35 +02:00
ceb32_tree.h IMPORT: cebtree: import version 0.5.0 to support duplicates 2025-09-16 09:23:46 +02:00
ceb64_tree.h IMPORT: cebtree: import version 0.5.0 to support duplicates 2025-09-16 09:23:46 +02:00
ceba_tree.h IMPORT: cebtree: import version 0.5.0 to support duplicates 2025-09-16 09:23:46 +02:00
cebb_tree.h IMPORT: cebtree: import version 0.5.0 to support duplicates 2025-09-16 09:23:46 +02:00
cebib_tree.h IMPORT: cebtree: import version 0.5.0 to support duplicates 2025-09-16 09:23:46 +02:00
cebis_tree.h IMPORT: cebtree: import version 0.5.0 to support duplicates 2025-09-16 09:23:46 +02:00
cebl_tree.h IMPORT: cebtree: import version 0.5.0 to support duplicates 2025-09-16 09:23:46 +02:00
cebs_tree.h IMPORT: cebtree: import version 0.5.0 to support duplicates 2025-09-16 09:23:46 +02:00
cebtree-prv.h IMPORT: cebtree: import version 0.5.0 to support duplicates 2025-09-16 09:23:46 +02:00
cebtree.h IMPORT: cebtree: import version 0.5.0 to support duplicates 2025-09-16 09:23:46 +02:00
eb32sctree.h REORG: ebtree: split structures into their own file ebtree-t.h 2021-10-07 01:41:14 +02:00
eb32tree.h IMPORT: eb32/64: optimize insert for modern CPUs 2025-09-17 14:30:32 +02:00
eb64tree.h IMPORT: eb32/64: optimize insert for modern CPUs 2025-09-17 14:30:32 +02:00
ebimtree.h BUG/MEDIUM: ebtree: use a byte-per-byte memcmp() to compare memory blocks 2020-06-16 11:30:33 +02:00
ebistree.h CLEANUP: assorted typo fixes in the code and comments 2024-09-03 17:49:21 +02:00
ebmbtree.h IMPORT: ebmb: optimize the lookup for modern CPUs 2025-09-17 14:30:32 +02:00
ebpttree.h REORG: ebtree: split structures into their own file ebtree-t.h 2021-10-07 01:41:14 +02:00
ebsttree.h CLEANUP: assorted typo fixes in the code and comments 2024-09-03 17:49:21 +02:00
ebtree-t.h REORG: ebtree: split structures into their own file ebtree-t.h 2021-10-07 01:41:14 +02:00
ebtree.h IMPORT: ebtree: make string_equal_bits() return an unsigned 2024-01-06 13:35:42 +01:00
ist.h MINOR: ist: define iststrip() new function 2024-04-26 11:29:25 +02:00
lru.h REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
mjson.h MINOR: sample: converter: Add mjson library. 2021-04-15 17:05:38 +02:00
mt_list.h CLEANUP: include: replace hand-rolled offsetof to avoid UB 2025-07-25 17:54:32 +02:00
plock.h Revert "IMPORT: plock: export the uninlined version of the lock wait function" 2025-02-07 19:51:15 +01:00
sha1.h IMPORT: sha1: import SHA1 functions 2017-10-25 04:45:48 +02:00
slz-tables.h BUILD: tree-wide: fix a few missing includes in a few files 2024-03-05 11:50:34 +01:00
slz.h IMPORT: slz: use a better hash for machines with a fast multiply 2025-05-16 16:43:53 +02:00
xxhash.h BUILD: xxhash: silence a build warning on Solaris + gcc-5.5 2024-04-17 09:43:32 +02:00