Turbine ORM Benchmark

by BataDB

Live benchmark comparing @batadata/turbine vs Prisma vs Drizzle — Neon Postgres, 484K rows, us-east-1

Methodology: All three ORMs run in the same Vercel serverless function (iad1 / us-east-1), using TCP connections (pg / node-postgres) to the same Postgres database. Each benchmark run includes 3 warmup iterations (discarded) followed by N measured iterations. Timing uses performance.now() around the database call only. Turbine uses json_agg subqueries for nested relations (single SQL query). Prisma uses its include/relation system (multiple queries). Drizzle uses its relational query builder.

Infrastructure: BataDB is a serverless Postgres platform built on the Neon open-source storage engine. The @batadata/turbine ORM is the TypeScript query layer that ships with BataDB — using schema introspection and json_agg codegen to deliver nested queries in a single SQL round-trip.