Commit 564a699
committed
optimize benchmark performance end to end
- Remove prefetch from get/delete/seek paths (extra tower_load hurts more than helps for cache-resident data)
- Keep prefetch in find_less (beneficial for insert-heavy workloads with larger datasets)
- Remove iterator prefetch from advance_node (extra tower_load was slowing iteration)
- Use Relaxed ordering for height loads where Acquire is unnecessary
- Conditional record_alloc only when max_memory_bytes > 0 (removes atomic fetch_add from hot path)
- Bulk u64 header writes in init_node (3 stores vs 8 individual stores)
- unwrap_unchecked in compare_keys behind length guards
- #[inline(always)] on hot-path functions
- Release profile: lto=fat, strip=true
Results vs original:
- insert_seq/10K: 1.7ms → 1.36ms (20% faster)
- insert_rand/10K: 2.8ms → 2.2ms (21% faster)
- concurrent/4 threads: 14.5ms → 10.6ms (27% faster)
- concurrent/8 threads: 23ms → 20.6ms (10% faster)
- cursor_seek/1K: 54ns → 36ns (33% faster)
- cursor_seek/10K: 78ns → 60ns (23% faster)
- seal/1K: 155µs → 126µs (19% faster)1 parent a2aef83 commit 564a699
3 files changed
Lines changed: 22 additions & 42 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
20 | 19 | | |
21 | 20 | | |
22 | 21 | | |
| |||
59 | 58 | | |
60 | 59 | | |
61 | 60 | | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
| 61 | + | |
69 | 62 | | |
70 | 63 | | |
71 | 64 | | |
| |||
289 | 282 | | |
290 | 283 | | |
291 | 284 | | |
292 | | - | |
293 | 285 | | |
294 | | - | |
| 286 | + | |
295 | 287 | | |
296 | 288 | | |
297 | | - | |
298 | | - | |
299 | 289 | | |
300 | 290 | | |
301 | 291 | | |
302 | 292 | | |
303 | | - | |
304 | 293 | | |
305 | 294 | | |
306 | 295 | | |
307 | 296 | | |
308 | 297 | | |
309 | 298 | | |
310 | 299 | | |
311 | | - | |
312 | | - | |
313 | | - | |
314 | | - | |
315 | | - | |
316 | 300 | | |
317 | 301 | | |
318 | 302 | | |
319 | 303 | | |
320 | 304 | | |
321 | 305 | | |
322 | 306 | | |
323 | | - | |
324 | 307 | | |
325 | 308 | | |
326 | 309 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
397 | 397 | | |
398 | 398 | | |
399 | 399 | | |
400 | | - | |
401 | 400 | | |
402 | 401 | | |
403 | 402 | | |
| |||
435 | 434 | | |
436 | 435 | | |
437 | 436 | | |
438 | | - | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
439 | 440 | | |
440 | 441 | | |
441 | 442 | | |
| |||
472 | 473 | | |
473 | 474 | | |
474 | 475 | | |
475 | | - | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
476 | 479 | | |
477 | 480 | | |
478 | 481 | | |
| |||
602 | 605 | | |
603 | 606 | | |
604 | 607 | | |
| 608 | + | |
605 | 609 | | |
606 | 610 | | |
607 | 611 | | |
608 | 612 | | |
609 | 613 | | |
610 | 614 | | |
611 | 615 | | |
612 | | - | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
613 | 619 | | |
614 | 620 | | |
615 | 621 | | |
| |||
877 | 883 | | |
878 | 884 | | |
879 | 885 | | |
880 | | - | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
881 | 893 | | |
882 | 894 | | |
883 | 895 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | | - | |
| 87 | + | |
88 | 88 | | |
89 | 89 | | |
90 | | - | |
91 | | - | |
92 | 90 | | |
93 | 91 | | |
94 | 92 | | |
| |||
99 | 97 | | |
100 | 98 | | |
101 | 99 | | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | 100 | | |
107 | 101 | | |
108 | 102 | | |
| |||
266 | 260 | | |
267 | 261 | | |
268 | 262 | | |
269 | | - | |
| 263 | + | |
270 | 264 | | |
271 | 265 | | |
272 | | - | |
273 | | - | |
274 | 266 | | |
275 | 267 | | |
276 | 268 | | |
| |||
281 | 273 | | |
282 | 274 | | |
283 | 275 | | |
284 | | - | |
285 | | - | |
286 | | - | |
287 | | - | |
288 | 276 | | |
289 | 277 | | |
290 | 278 | | |
| |||
323 | 311 | | |
324 | 312 | | |
325 | 313 | | |
326 | | - | |
| 314 | + | |
327 | 315 | | |
328 | 316 | | |
329 | | - | |
330 | | - | |
331 | | - | |
332 | 317 | | |
333 | 318 | | |
334 | 319 | | |
| |||
0 commit comments