07 / Measurement notebook

Show the method.

Numbers are useful when the conditions travel with them. Local measurements, raw samples, and a command to repeat the experiment.

Measured locally, not production results. This microbenchmark times the JavaScript hash-placement teaching engine. It does not measure a real cluster, C++ implementation, or employer system.
Experiment 01 / Ring construction + key placement

The cost of more positions.

Download raw results ↓
1 virtual node(s) / physical node
35,535 ops/s
8 virtual node(s) / physical node
30,498 ops/s
32 virtual node(s) / physical node
14,626 ops/s

One operation rebuilds the ring and places 256 keys. Higher throughput is not a statement about load balance or cache quality.

Measured hash placement performance
Virtual nodes Throughput (ops/s) p50 (ms) p95 (ms) p99 (ms) Timed batches
1 35,535 0.0253 0.0434 0.0575 50
8 30,498 0.0323 0.0373 0.0383 50
32 14,626 0.0629 0.1018 0.1225 50

Percentiles describe per-operation batch averages, not individual request tail latencies. Each sample averages 100 operations. Do not compare these numbers directly to production p99 latency.

Hash placement / 1 virtual node / environment & method
Measured at
2026-11-12T18:20:45.921Z
Hardware
11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz / x64 / 31.7 GiB system memory
Operating system
win32 10.0.26300
Runtime / compiler
Node v24.22.2 / V8 13.6.233.17-node.63 JIT; no native compiler
Build configuration
TypeScript stripped by Node; unbundled source, single process, default runtime options
Method
50 timed batches of 100 complete ring-build-and-place operations, after 1,000 warmups. Each operation places 256 keys. Percentiles use nearest rank over per-operation batch averages, not individual request latencies. Throughput uses completed operations divided by total wall time including timing overhead.
Limitations
Local shared machine, uncontrolled background load, no CPU pinning, no confidence intervals. These are JavaScript teaching-engine measurements, not C++ or distributed-service benchmarks.
Source SHA-256
c35e106cd960982d75e1065bfb3381221206b6fd819541579e907ad72de90ea5
Hash placement / 8 virtual nodes / environment & method
Measured at
2026-11-12T18:20:46.122Z
Hardware
11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz / x64 / 31.7 GiB system memory
Operating system
win32 10.0.26300
Runtime / compiler
Node v24.22.2 / V8 13.6.233.17-node.63 JIT; no native compiler
Build configuration
TypeScript stripped by Node; unbundled source, single process, default runtime options
Method
50 timed batches of 100 complete ring-build-and-place operations, after 1,000 warmups. Each operation places 256 keys. Percentiles use nearest rank over per-operation batch averages, not individual request latencies. Throughput uses completed operations divided by total wall time including timing overhead.
Limitations
Local shared machine, uncontrolled background load, no CPU pinning, no confidence intervals. These are JavaScript teaching-engine measurements, not C++ or distributed-service benchmarks.
Source SHA-256
c35e106cd960982d75e1065bfb3381221206b6fd819541579e907ad72de90ea5
Hash placement / 32 virtual nodes / environment & method
Measured at
2026-11-12T18:20:46.530Z
Hardware
11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz / x64 / 31.7 GiB system memory
Operating system
win32 10.0.26300
Runtime / compiler
Node v24.22.2 / V8 13.6.233.17-node.63 JIT; no native compiler
Build configuration
TypeScript stripped by Node; unbundled source, single process, default runtime options
Method
50 timed batches of 100 complete ring-build-and-place operations, after 1,000 warmups. Each operation places 256 keys. Percentiles use nearest rank over per-operation batch averages, not individual request latencies. Throughput uses completed operations divided by total wall time including timing overhead.
Limitations
Local shared machine, uncontrolled background load, no CPU pinning, no confidence intervals. These are JavaScript teaching-engine measurements, not C++ or distributed-service benchmarks.
Source SHA-256
c35e106cd960982d75e1065bfb3381221206b6fd819541579e907ad72de90ea5

Reproduce, then question.

npm ci
npm run benchmark
npm run build

The benchmark records hardware, OS, runtime, warmup, sample count, raw timings, and a source hash. It uses no network requests and records no host name or user name.

Expect variation on a shared machine. There are no confidence intervals, affinity controls, or claims of statistically significant differences.

Connect the measurement

What do virtual nodes change? →

Inspect distribution and key movement in the lab before drawing a conclusion from a timing chart.

Search the notebook

Search articles, projects, and experiments. Everything stays on your device.

palash / notebook

A small doorway into the site. No shell, no remote execution.

Welcome. Type help to find your way around.

lab →experience →contact →Ctrl / Cmd + K