You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
blob: vary max cached readers by read amplification
The blob.ValueFetcher maintains a small cache of open blob file readers. This
allows a scan that's retrieving values to avoid repeatedly re-opening the same
blob file and re-retrieving the index block from the block cache. This cache
previously used a fixed size of 5 in all contexts. This commit updates the
fetcher to configure the size of the cache dynamically. Iterator construction
now sets a cache size of 5 times the number of non-empty levels in the LSM,
capturing the fact that deeper LSMs will reference more blob files over a span.
Close#5181.
```
│ all.txt │
│ ops/sec │
ycsb/A/values=1024 383.6k ± ∞ ¹
ycsb/B/values=1024 619.7k ± ∞ ¹
ycsb/C/values=1024 1.005M ± ∞ ¹
ycsb/D/values=1024 232.8k ± ∞ ¹
ycsb/E/values=1024 96.19k ± ∞ ¹
ycsb/F/values=1024 82.91k ± ∞ ¹
geomean 276.2k
```
0 commit comments