BrowserVec only — flat fp32, int8 + rerank, and 1-bit + rerank — over real sentence embeddings from a real
transformer model, computed in-browser over a hand-written corpus of 180 factual documents across 12 topics.
Synthetic clustered vectors (the dashboard benchmark, which also
compares against hnswlib-wasm, voy-search, Orama, and Vectorious) are useful for raw throughput comparisons,
but they have no real semantic structure — every cluster is equally separable, which flatters approximate
methods. Real embeddings have uneven density, near-duplicate topics, and genuine ambiguity, which is what
actually stresses recall. The quantitative metrics below (latency, recall, memory, CPU/GPU/transfer) use the
same harness as the synthetic dashboard — only the vector source and engine set differ. A qualitative section
at the bottom runs hand-written natural-language queries through BrowserVec and shows the retrieved document
text, so you can eyeball whether the matches actually make sense.
1. Embedding model
Model weights download once (tens of MiB) and are cached by the browser — later runs with the same model
are instant to load, but embedding the corpus still runs fresh each time (it's the point of the benchmark).
2. Quantitative results
Engine
Ingest
Avg latency
QPS
CPU
GPU
Transfer
Recall@k
Memory (est.)
Run the benchmark to see results.
3. Qualitative semantic search
Twelve hand-written natural-language queries, run through BrowserVec (WebGPU flat) using the same
real embeddings as above. Each query is phrased to require actual semantic understanding — synonyms, paraphrase,
indirect reference — not keyword overlap. The expected topic is shown for reference; a mismatch isn't
necessarily wrong (cross-topic sentences can be legitimately close), it's there so you can judge the results yourself.