Phases

The performance phases that took the kernel from in-memory writes to a disk-backed store with vector search. Phase 2 measures persistence and sustained write pressure; Phase 3 measures exact and approximate (IVF) vector search over an encrypted collection.

Kernel version. The published numbers below are from this.me 3.6.4 (2026-04-19) and 3.7.0 (2026-04-21, the sustained-write rate). The machine was not recorded. They have not been re-run on 4.x; read them as the closure signals of those versions, not as 4.2.1 figures.

Setup

Node ≥ 22.6 (the .ts files run directly). All commands run from Typescript/, after building the kernel (the scripts import dist/).

git clone https://github.com/neurons-me/.me.git && cd .me/Typescript
npm install
npm run build

Phase 2: disk persistence and write pressure

What it measures. Writing large corpora of 1536-dimension vectors through DiskStore with a bounded hot set: incremental disk persistence, explain() lookup latency as the store grows on disk, and sustained write and rewrite pressure (throughput, post-GC heap, retained bytes) over millions of writes.

npm run test:phase2:smoke:disk
npm run bench:phase2:explain
npm run bench:phase2:write
npm run bench:phase2:rewrite
node tests/Benchmarks/benchmark-100.ts
npm run bench:phase3:vector:corpus

Published results (this.me 3.6.4, 3.7.0 where marked):

measurement result
encrypted vectors, leaf writes (benchmark-100.ts) 100,000 in 0.9 min, 1,886 vectors/s, ~122 MB post-GC heap
sustained write, 1536-dim vectors (3.7.0) ~700 vectors/s
corpus storage (benchmark.vector-corpus.ts) chunked columnar envelopes, Float32Array payloads, chunk-read heap delta ~2.7 MB

Phase 1 before it (batch writes, Phase.1GB.js) closed with 14–20 ms per 100-item chunk and a ceiling of ~137,300 items before the V8 heap ran out (~1,660 MB), same version.

Phase 3: exact and IVF vector search

What it measures. Search over a collection-scoped encrypted vector branch: searchExact() as the correctness baseline, then the IVF sidecar index (buildVectorIndex(), searchVector()) against it. Latency (p95), recall@10, chunks read per query and speedup, at 10,000 / 50,000 / 100,000 vectors, on a realistic corpus (chunk_coherent) and a hostile one (legacy_fragmented).

npm run test:phase3
npm run bench:phase3:exact-scale
npm run bench:phase3:ivf-vs-exact
npm run bench:phase3:ivf-tuning

Published results (this.me 3.6.4, 100,000 vectors):

corpus exact p95 IVF p95 recall@10 chunks / query speedup
chunk_coherent (realistic) 77,129 ms 3,318 ms 1.000 18.4 23.2×
legacy_fragmented (hostile) 166,604 ms 19,353 ms 1.000 97.6 8.6×

Open at the time: the build cost of large IVF indexes.

More