▶ Watch ↗17:56
Repository owned by Benesch’s verified GitHub account. Adds C function frames to Go backtraces across cgo calls, including traces generated by fatal signals, exposing frames otherwise omitted.
github.comAuthored by Benesch, published November 21, 2017. Describes the team’s native Windows port, installation failures discovered at a hackathon, upstream RocksDB patches, platform compatibility fixes, and GNU Make integration with dependency build systems. Credits the broader team and upstream maintainers.
cockroachlabs.comDecember 12, 2023 interview authored by Yaroslav Tkachenko, with Benesch participating as Materialize’s CTO. Covers incremental SQL computation, correctness, PostgreSQL compatibility, distributed clusters and replicas, organizational changes, proposed end-to-end consistency, SQL expressivity, and cloud deployment tradeoffs.
streamingdata.techBenesch’s December 4, 2024 essay on storage-managed Iceberg compaction, snapshot maintenance, integrated catalogs and authentication, interoperability, and uncertain compaction economics for frequent streaming writes.
meltware.comBenesch joined the earliest team after working at Cockroach Labs and served as CTO. He describes bringing engineering practices into the organization and its transition from a single executable to distributed compute clusters. This establishes employment and leadership participation; the interview attributes Timely and Differential Dataflow’s authorship to Frank McSherry.
materialize.com · Source ↗Benesch serves as CTO of the company building vector and full-text search on object storage with memory and SSD caching. This is an employment and leadership affiliation; the company identifies Simon Hørup Eskildsen and Justine Li as its co-founders.
turbopuffer.com · Source ↗Repository owned by Benesch’s verified GitHub account and pinned on his profile, described as a Go command-line tool for pull request management. Retained evidence does not describe its implementation or contribution history.
github.com · Source ↗Benesch’s personal technical blog, identifying him by name and linking his verified GitHub account. Lists writing on S3 Tables, debugging Rust async generator errors, and gccgo benchmarks.
meltware.comBio, Work & Ideas
Conference affiliation: turbopuffer
Nikhil Benesch is chief technology officer of turbopuffer, which builds vector and full-text search on object storage. Previously CTO at Materialize and an engineer at Cockroach Labs, he has worked on distributed databases, incrementally maintained query results, and the tools engineers use to build and debug them.
At Cockroach Labs, Benesch wrote about the engineering work behind native Windows support. Students struggling to install CockroachDB at a hackathon had exposed a problem the team’s bug reports understated: users could abandon installation without reporting anything. The team replaced a cumbersome Docker setup with a downloadable executable. Getting there required changes throughout the database stack, patches to RocksDB’s build system, and a move to GNU Make so CockroachDB could build its C and C++ dependencies with their native tooling. His account credits the upstream maintainers whose work made the port possible.
Benesch then joined Materialize in its earliest days, working alongside Arjun Narayan and Frank McSherry. He and Narayan had been engineers together at Cockroach Labs. In a December 2023 interview, Benesch described the opportunity that persuaded him to move: applications repeatedly ask databases similar questions, causing them to calculate the same answers again and again. Materialize would instead do much of that work as new data arrived, updating results incrementally and making fresh answers available through SQL.
As Materialize’s CTO, he helped bring Cockroach Labs’ engineering practices into the company: careful code review, informative commit messages, design documents for substantial features, and correctness before performance. Materialize also followed CockroachDB in adopting PostgreSQL’s SQL dialect. Benesch favored staying close to PostgreSQL’s semantics because an apparently useful deviation could later conflict with another feature that depended on the original behavior.
Materialize’s transition from a single executable to a distributed cloud service changed both the architecture and the team’s work. Isolated compute clusters allowed computations to span machines; multiple replicas could keep queries running when a machine failed. The underlying dataflow engine already distributed work across cores, which helped it extend across machines. Benesch described the larger challenge as teaching the organization to think in terms of a fleet: deployment tools, test frameworks, and operational knowledge all had to become aware of Kubernetes and distributed execution.
At turbopuffer, Benesch brings that database experience to search infrastructure. The company separates compute from storage, using object storage with memory and SSD caching to serve vector and full-text queries. Its co-founders are Simon Hørup Eskildsen and Justine Li; Benesch serves as CTO after his earlier leadership role at Materialize.
Benesch’s open-source work also addresses what engineers can see when systems fail. His cgosymbolizer project adds C function frames to Go backtraces, including traces from calls that cross between Go and C. Functions that would otherwise disappear from a diagnostic trace become visible, giving developers a fuller account of how execution reached a failure.
▶ Watch ↗17:56
Loading more talks and highlights…