Confidential · Patent Pending · Measured live on this machine
A single script, run warm and single-threaded on an Apple M5 Max, times WICK associative recall against conventional memory retrieval as the corpus grows from 1,000 to 1,000,000 items — then proves, on real data, that the fast method returns the same answers as the exhaustive one. Every corpus is labeled real or synthetic; the baseline is named; the caveats are stated.
Synthetic community corpus (labeled synthetic — the same items feed all three methods). Brute-force exact cosine grows ~linearly; WICK-beam and a real ANN index stay ~flat. So the brute-vs-WICK advantage grows with N.
Both axes log-scaled. Lower is faster. The gap between the amber and teal lines is the headline.
| Corpus N | Brute cosine | faiss ANN | WICK beam | Exhaustive field | Brute ÷ Beam | Beam visits |
|---|---|---|---|---|---|---|
| 1,000 | 0.0084 ms | 0.0129 ms | 0.403 ms | 0.24 ms | 0.02× | 568 (1.8×) |
| 10,000 | 0.0619 ms | 0.0334 ms | 0.460 ms | 2.51 ms | 0.13× | 904 (11×) |
| 100,000 | 1.485 ms | 0.102 ms | 0.516 ms | 41.3 ms | 2.88× | 966 (104×) |
| 1,000,000 | 15.13 ms | 0.319 ms | 0.904 ms | 1,276 ms | 16.7× | 987 (1,013×) |
At N=1k brute-force actually wins — WICK-beam carries a fixed ~0.4 ms setup cost. The crossover is near 50k; by 1M the beam visits only ~987 of a million nodes and is 16.7× faster than brute-force, while the exhaustive field it approximates costs 1.28 s. The advantage is the slope, not any single row.
One comparison, one stored item. WICK compares 256-bit hypervectors with a hardware popcount; a vector database computes a 256-dim float32 dot product. Measured per comparison.
Honest nuance a skeptic should hear: in pure numpy the bit-kernel is slower, because numpy's popcount isn't a fused SIMD loop. The real win needs the compiled kernel — where 256-bit popcount hits 1.06 ns (32× less memory per item, one CPU instruction), 7.7× faster than the best float path and 64× faster than a naive float loop.
On the real 19,293-node co-access corpus (instrumented access trajectory, 200 held-out session queries): does the fast beam return the same answers as the exhaustive field?
The fast beam visits ~112 of 19,293 nodes yet reproduces the full-graph field's top-10 97% of the time and matches its held-out recall within half a point (0.925 vs 0.930). Speed here does not cost quality.
python3 wick_speed_demo.py — self-contained (numpy + scipy; optional faiss-cpu for the ANN
baseline, optional cc for the bit-kernel; both degrade with a printed note). Engine (build_A / exact_field /
beam) copied verbatim from run_beam_scaling_real_v1.py. Warm cache · single-thread · median of runs · PYTHONHASHSEED=0.results/speed-demo-v1.json. Real corpus = instrumented access-trajectory co-access. Synthetic corpus = community graph + matched embeddings (labeled).