diff options
| author | eunhhu <[email protected]> | 2026-09-30 13:52:30 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-30 13:52:30 +0100 |
| commit | 68dca986ee7ff7d729a15565e2e07127d5b5d1a4 (patch) | |
| tree | 89e50c693af9594c26320c56e37ee7f0f9b95d6a /research/experiments/024-finding-items/2026-09-30-micro-linux-aarch64.txt | |
| parent | dacc3cf3e1e7fe6554575cefdb4ac6d7a19a61c6 (diff) | |
| download | pure-68dca986ee7ff7d729a15565e2e07127d5b5d1a4.tar.gz pure-68dca986ee7ff7d729a15565e2e07127d5b5d1a4.zip | |
Say that prefetching items did not pay, and why (109)
Fetching a found item's cells, a leaf's keys and each level's keys ahead
made finding and reading items 20% faster on 100,000 items in a micro
benchmark, but TPC-C's clean pairs moved 1% at most and finding alone got
48% slower, so it is not in. The owner's finding samples were the descent,
not the fields: a write right after a read copies the leaf whole anyway,
and what costs is walking structures larger than the caches at random.
Diffstat (limited to 'research/experiments/024-finding-items/2026-09-30-micro-linux-aarch64.txt')
| -rw-r--r-- | research/experiments/024-finding-items/2026-09-30-micro-linux-aarch64.txt | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/research/experiments/024-finding-items/2026-09-30-micro-linux-aarch64.txt b/research/experiments/024-finding-items/2026-09-30-micro-linux-aarch64.txt new file mode 100644 index 0000000..df7d999 --- /dev/null +++ b/research/experiments/024-finding-items/2026-09-30-micro-linux-aarch64.txt @@ -0,0 +1,6 @@ +load average at the start: (3.32470703125, 3.7529296875, 3.55712890625) + 100000 before seek: 125.4 ns (x1.69) seek+3 reads: 339.3 ns (x1.36) seek+3 reads+3 changes: 433.7 ns (x1.33) same, a share each 30: 681.5 ns (x1.15) + 100000 after seek: 185.9 ns (x1.10) seek+3 reads: 270.8 ns (x1.08) seek+3 reads+3 changes: 360.1 ns (x1.07) same, a share each 30: 597.2 ns (x1.12) + 400000 before seek: 212.6 ns (x1.10) seek+3 reads: 384.7 ns (x1.02) seek+3 reads+3 changes: 505.4 ns (x1.12) same, a share each 30: 855.1 ns (x1.22) + 400000 after seek: 261.8 ns (x1.55) seek+3 reads: 348.8 ns (x1.63) seek+3 reads+3 changes: 470.6 ns (x1.18) same, a share each 30: 801.6 ns (x1.51) +load average at the end: (3.677734375, 3.7158203125, 3.5546875) |
