Skip to content

Analytical SQL.
Roasted in Rust.

A familiar SQL experience, a different engine underneath. An independent Rust implementation targeting DuckDB compatibility, built to explore the tradeoff between memory and execution time.

Public preview · MIT licensed · Python, Go & Swift

roastedDuckSQL shell
SELECT category,
       sum(amount) AS total
FROM 'sales.parquet'
GROUP BY category
ORDER BY total DESC;

Overview

Familiar interfaces. An independent implementation.

Run analytical SQL over local data, embed the engine in an application, or use the selected Python, Go, and Swift clients. roastedDuck ports the engine to Rust while targeting the SQL and storage behavior of DuckDB 1.5.6.

This is a public preview. The compatibility target has extensive recorded differential testing, with known exceptions. It is independently maintained; it is not an official DuckDB release or an endorsed replacement.

Start with your workload

Your starting point Where to go
Explore a file or run SQL Install the shell, then run a query
Work in a notebook or application Python
Embed in a service Go or C API / ADBC
Build an Apple application Swift
Evaluate the tradeoffs Benchmarks and compatibility

Less memory on the measured workloads

The recorded November 6, 2026 macOS arm64 TPC-H SF10 and ClickBench configurations show 60–76% lower geometric-mean whole-process peak RSS, with 7–16% longer geometric-mean best query times, at 1 and 14 threads. Individual workloads vary substantially: ClickBench summed times are 23–25% longer, and its largest single-thread peak is almost unchanged.

The benchmark explorer puts the aggregates, every query, and the exceptions together. No native Linux performance claim is made.

Built on a substantial foundation

The work builds on DuckDB's algorithms, interfaces, tests, and community. The Rust engine, shell, selected clients, and public evidence are available under MIT and retained third-party licenses.

The architecture guide explains the crate boundaries. The contributor guide explains how to report a mismatch, run focused tests, and improve the next release.