immensely practical and beautifully simple. love this
Introducing e-means, an algorithm beating k-means in 10x fewer epochs.
With order of magnitude wall-clock speedups, e-means is released in FAISS and needs no hyperparameter tuning beyond k. It is robust to various scales and datasets. Still skeptical ? Just try e-means [1/10]🧵
2
1
21
2,843
Benjamin Trent retweeted
tpuf v3 full-text search now beats prod (v2) across the board on our internal benchmark
FTS v2 already used a highly-tuned vectorized search algorithm. FTS v3 uses the same algorithm applied to a more efficient and CPU-friendly storage layout
turbopuffer.com/v3?group=full-…
FTS v2 already used a highly-tuned vectorized search algorithm. FTS v3 uses the same algorithm applied to a more efficient and CPU-friendly storage layout
turbopuffer.com/v3?group=full-…
2
8
90
3,258
Benjamin Trent retweeted
I wrote this post a few months ago but held off on sharing it because it takes a lot of shortcuts. Today, colleagues asked me why Lucene uses segments, I walked them through it, and it clicked. So here it is :) jpountz.github.io/2026/04/19/why…
5
25
221
7,521
Benjamin Trent retweeted
The people of Silicon Valley are unwell.
If you work at a frontier lab or decacorn, you’ve got it bad. You haven’t seen your kids, your girlfriend’s annoyed, invites from friends to hang out are waning, even weddings are on hold. This is the time to make your mark and make your money, after all.
If you’re building a startup that’s trying to compete with or be one of these companies, you’ve got it bad. Maybe you passed up a job offer at one a couple years back, which means you left $100M on the table, you fucking idiot. Being an underdog isn't as fun as you thought.
If you’re working on a pre-AI startup, you’ve got it bad. Not too long ago you were the belle of the ball, but now your 30% year-on-year growth doesn’t feel like growth at all. It feels like death.
"Too many of my friends are spiraling," Brie Wolfson writes. "I don’t know how we’re supposed to live and work like this."
It’s all too much, too fast. Too much money, too much growth, too much power, too much change. Every month, a new frontier model is released. Every day, a new unicorn is minted. Seriously. 300 days into the year 2026, and 311 unicorns have been minted so far.
So what’s left for the sane ones? Brie went looking for teams playing a different game. She found one in Ottawa: a search infrastructure company that many of the AI darlings rely on.
It's growing fast, and its people are well.
Read @zebriez’s latest company dispatch from inside the sane asylum of turbopuffer.
colossus.com/article/sane-a…
If you work at a frontier lab or decacorn, you’ve got it bad. You haven’t seen your kids, your girlfriend’s annoyed, invites from friends to hang out are waning, even weddings are on hold. This is the time to make your mark and make your money, after all.
If you’re building a startup that’s trying to compete with or be one of these companies, you’ve got it bad. Maybe you passed up a job offer at one a couple years back, which means you left $100M on the table, you fucking idiot. Being an underdog isn't as fun as you thought.
If you’re working on a pre-AI startup, you’ve got it bad. Not too long ago you were the belle of the ball, but now your 30% year-on-year growth doesn’t feel like growth at all. It feels like death.
"Too many of my friends are spiraling," Brie Wolfson writes. "I don’t know how we’re supposed to live and work like this."
It’s all too much, too fast. Too much money, too much growth, too much power, too much change. Every month, a new frontier model is released. Every day, a new unicorn is minted. Seriously. 300 days into the year 2026, and 311 unicorns have been minted so far.
So what’s left for the sane ones? Brie went looking for teams playing a different game. She found one in Ottawa: a search infrastructure company that many of the AI darlings rely on.
It's growing fast, and its people are well.
Read @zebriez’s latest company dispatch from inside the sane asylum of turbopuffer.
colossus.com/article/sane-a…
37
60
1,142
326,309
Benjamin Trent retweeted
turbopuffer v3 will be the first search engine to adopt fully vectorized query execution, a design more often used by OLAP engines
modern CPUs reward dumb, serial work. tpuf v3 makes the best use of the hardware for better performance on more queries
tpuf.link/vectorization
modern CPUs reward dumb, serial work. tpuf v3 makes the best use of the hardware for better performance on more queries
tpuf.link/vectorization
6
13
309
27,264
Benjamin Trent retweeted
filters on tpuf v3 are now faster than prod (v2)
instead of filtering row-at-a-time, v3 will push compute down to storage to find shortcuts. example: if all rows in a block have the same value for x, then x=8 reduces to one check
more in the v3 devlog: [tpuf.link/v3/2026-10-08]
instead of filtering row-at-a-time, v3 will push compute down to storage to find shortcuts. example: if all rows in a block have the same value for x, then x=8 reduces to one check
more in the v3 devlog: [tpuf.link/v3/2026-10-08]
0
3
55
5,372
Working on that blog post as fast as I can ;). Excited about this one. Dynamic rescoring, no wasted compute by static oversampling, spending compute for recall only when necessary.
binary quantization lets tpuf store & score more vectors in RAM. to keep recall high, we rescore full-precision candidates from SSD
we cut vector search latency up to 4.3x on low-mem VMs by dynamically pruning rescore candidates
less rescoring→ fewer SSD reads→ faster search
1
2
4
439
💯💯💯
One thing I've come to appreciate while working on v3 (turbopuffer.com/v3) is how much easier it is to change the underlying storage/query engine with a pure SaaS product.
0
0
0
137
Benjamin Trent retweeted
we implemented batched reads in the v3 full-text engine, leading to a ~9x performance improvement. postings are stored as columns, and we were reading them a row at a time
sometimes optimization is not about being clever, but simply avoiding mistakes
tpuf.link/v3/2026-10-02
sometimes optimization is not about being clever, but simply avoiding mistakes
tpuf.link/v3/2026-10-02
1
6
167
42,206
After a couple months at @turbopuffer, I’ve realized how much I undervalued a solid, lovable control plane. @tarrooon & crew built something beautiful.
Search algorithms and data structures matter, but control plane & infra win championships.
turbopuffer.com/blog/control-p…
Search algorithms and data structures matter, but control plane & infra win championships.
turbopuffer.com/blog/control-p…
3
14
199
11,306
Benjamin Trent retweeted
we maintain several internal benchmarks to guide our customers toward better search relevance
@PerpLEXIty's new model tops context-bench, our internal contextual embedding benchmark, and boosts document recall@10 by 50%+ over traditional SOTA embedding models
@PerpLEXIty's new model tops context-bench, our internal contextual embedding benchmark, and boosts document recall@10 by 50%+ over traditional SOTA embedding models
We built a new way to train contextual embedding models, which encode each chunk of a document with the whole document in view.
pplx-embed-v2-context-9b-preview sets a new state of the art on ConTEB and @turbopuffer's new, privately held context-bench.
perplexity.ai/hub/blog/conte…
7
17
150
32,750
Benjamin Trent retweeted
we're changing tpuf's storage architecture so we can keep pushing the search frontier
the new engine (v3) now passes CI, but we have to make it fast before we ship it to prod
we're grinding query plans in public until v3 wins on everything
follow along: turbopuffer.com/v3
the new engine (v3) now passes CI, but we have to make it fast before we ship it to prod
we're grinding query plans in public until v3 wins on everything
follow along: turbopuffer.com/v3
22
18
338
85,978
I really like @cohere 's RCP-nDCG idea. It's always bugged me how many gaps are in human labeled datasets (even the old standards). Using an LLM to fill in the gaps is very natural: cohere.com/blog/rcp-ndcg
4
2
19
1,130
When the whole system is puffin', the whole system gets better.
moving embedding into turbopuffer lets us parallelize the embedding call with other work in the query plan
whole-system puffin' shaves 100+ ms off your semantic searches
turbopuffer.com/blog/native-em…
0
1
5
1,049
I am just trying to keep up with Doug ;) Everybody puffs eventually
An important criteria for what vector database I use, seems to be wherever @benwtrent works
0
1
7
1,350
Benjamin Trent retweeted
we got something exciting for you 👀 x.com/i/article/2103…
23
54
579
109,822
Are we web scale yet?
fun things you get to see when working at @turbopuffer:
today i'm fixing my code because it exceeds `i64::MAX` when summing byte size of searched namespaces in the last minute.
that's 9,760,691,815,929,332,437 bytes. per minute. in a single production cluster.
9.8 exabytes :D
0
0
1
212
















