aboutsummaryrefslogtreecommitdiffstats
path: root/research/experiments/024-finding-items/2026-09-30-micro-linux-aarch64.txt
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-30 13:52:30 +0100
committereunhhu <[email protected]>2026-09-30 13:52:30 +0100
commit68dca986ee7ff7d729a15565e2e07127d5b5d1a4 (patch)
tree89e50c693af9594c26320c56e37ee7f0f9b95d6a /research/experiments/024-finding-items/2026-09-30-micro-linux-aarch64.txt
parentdacc3cf3e1e7fe6554575cefdb4ac6d7a19a61c6 (diff)
downloadpure-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.txt6
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)