Skip to content

Build Not yet confirmed elsewhere1 publisher 2 min read Published

An 8-probe budget binds linear probing at load 0.277 for a 1e-3 failure level

Linear probing with an 8-probe budget and a 1e-3 failure level hits its limit at load 0.277, a hash-table study reports. Sizing to that tail instead of the mean takes about 3.25 times the slots of a table run at 0.9.

The Engineer · Build desk

How we use AI Send a correction

Illustration accompanying An 8-probe budget binds linear probing at load 0.277 for a 1e-3 failure level
Generated illustration
Sizing to the tail takes about 3.25 times the slots Slots per key for the same keys in a linear-probing table: run at load 0.9 versus sized to the 0.277 binding load.

Linear-probing table, slots per key for the same keys: 1.11 when run at load 0.9, rising to 3.61 when sized to the 0.277 binding load, about 3.25 times the slots.

Sizing to the tail takes about 3.25 times the slots
MeasureValueAs ofClaim
Run at load 0.91.11 slots per key10
Sized to 0.277 binding load3.61 slots per key10

What happened

  • At load 0.90 the measured 99th-percentile cost of an unsuccessful search is 7.39 times the mean, and at 0.95 it is 5.20 times.
  • For linear probing under uniform hashing, the post says the textbook mean formula matches the measured mean inside a two-sided 0.15 band.
  • For Robin Hood hashing the classical form is off by -0.993 at load 0.99, with an across-seed band of 0.004, and by -0.300 at 0.50.
  • The study counts probes and records no timings, across two schemes, 12 seeds per instance, 23 load points up to 0.99 and a fixed table of 65536 slots.
  • The post's author re-ran the shipped script at the published commit, and the reports and figure set regenerated byte-identically.

Why it matters

  • decision The failure level becomes a sizing input that someone has to own. The solve takes a probe budget and a failure share and returns a maximum load, so capacity planning starts from the cap.
  • constraint A sizing rule is scheme-specific. The classical form that fits linear probing's mean misses Robin Hood's, so each scheme needs its own solve before a load target is set.
  • exposure A table checked only against the textbook mean can pass every check and still exceed an 8-probe cap on 1e-3 of operations at a load far below 0.9.

A probe budget caps one operation. A mean averages over all of them. The post says the 0.277 figure is not the load at which the mean reaches eight probes [9]. The mean can sit well under eight while a small share of lookups runs past it.

The excerpt does not define "binds". In our reading, the budget binds at the load where the share of operations needing more than eight probes reaches the 1e-3 failure level. Under that reading the sizing procedure runs backward. Fix the budget and the failure share, solve for the maximum load, then size the table.

That solve costs memory. Slots per key is 1/load, so a load of 0.277 means about 3.61 slots per key against 1.11 at 0.9, a ratio of about 3.25 [10]. In our view sizing for the tail is the right tradeoff where eight probes is a hard cap, such as a fixed probe window, and 1e-3 is a failure rate someone has agreed to. Where overflow triggers a resize or a fallback path, the mean still prices the common case.

The evidence is counts. According to the post, every number in the package is an integer probe count, a rate over a named denominator, or a moment derived from integers [7]. The stated reason is that hash-table throughput is dominated by cache lines, prefetchers and page faults, and a stopwatch cannot show a p99. That is a sound choice for this question. It leaves open what eight probes cost in nanoseconds on any given machine.

The reproduction run exited with status 2. No step failed. Four journal gates reported NOT RUN because the exported archive has no .git, and the script labels that "a coordinate of this run, not a finding about the work" [2]. Byte-identical output shows that the shipped code is deterministic [1]. Whether uniform hashing describes your keys has to be tested on your keys.

For 0.277 to transfer, three things have to hold. Your hash function has to behave like the uniform hashing under which the post states its mean check [5]. Your table has to be close enough to the study's fixed 65,536 slots that size does not matter, and the study reports only that one size [8]. And your cap and tolerance have to be eight probes and 1e-3, since the solve changes with both.

The excerpt does not name the paper or its authors, so every figure here is the post's account of it.

What to watch

  • The paper itself: the excerpt does not name it, and the full text would show how it defines the binding load and how alpha*(k_max) is computed.
  • Binding loads for Robin Hood and for the other five budget steps, which the excerpt does not report.
  • A rerun of the probe-count harness with a production hash function and a table size other than 65536.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence66
Adoption
Insufficient
Hype gap+8
Incentives
Insufficient
Confidence60
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    The post's author ran reproduce.sh from a git archive export of origin/main, and the four spike reports, the nine-file figure set and the manuscript all regenerated byte-identically to the shipped versions.

    Reported Supported Source: dev.to post author's own run2 sources— create a free account to open themView cited source
  2. [2]

    The reproduce script exited with status 2: no step failed, but four gates (numgate, linkgate, pointgate, refgate) reported NOT RUN, with the post attributing the journal gates' result to the export having no .git; the script's output calls this 'a coordinate of this run, not a finding about the work'.

    Reported Supported Source: dev.to post author's own run2 sources— create a free account to open themView cited source
  3. [3]

    At alpha = 0.90 the measured p99 unsuccessful-search cost is 7.39 times the mean; at alpha = 0.95 it is 5.20 times the mean.

    Reported Supported Source: dev.to post summarizing the paperView cited source

Get this ledger inside ChatGPT. Ask about any of our stories and the answer brings its figure, each claim’s verdict and the sources. Free, no account.

Add to ChatGPTAdd to Claude

Sources

1 independent publisher whose own reporting we read for this story.

  1. dev.to

    1 article · October 13, 2026

    Your hash table runs at 0.9. Its probe budget binds at 0.277. The load factor is not the tail.

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

Entities

Loading related stories