Rust + GPUI FluxDB Benchmarks Lower Memory and Smoother Scrolling Than Tauri DBX and Eclipse DBeaver
Database clients stay open for hours, and every extra megabyte of idle memory or 33 ms frame interval compounds into noticeable drag on wide tables and multiple connections. This benchmark shows a native GPU-rendered Rust UI can beat both WebView and JVM stacks on those two specific pain points, which is directly relevant to anyone who lives in a SQL client.
A benchmark on a MacBook Pro M3 pitched three database clients against the same PostgreSQL 16 table: 200k rows, 30 columns, and a 10k-row `SELECT * ... LIMIT 10000` query. FluxDB, built on Rust and the GPUI rendering framework, peaked at 265 MiB during the query, versus 552 MiB for DBX (Rust + Tauri 2 + Vue 3) and 828 MiB for DBeaver (Java + Eclipse RCP). Idle memory told a similar story: FluxDB sat at 135 MiB, DBX at 200 MiB, and DBeaver at 411 MiB. After closing the result page, FluxDB settled back to 191 MiB, while DBX stayed at 411 MiB and DBeaver at 468 MiB.
Scrolling smoothness also separated the stacks. Effective FPS during a 20-second scroll was close between FluxDB (52.64) and DBX (50.48), but the P95 frame interval told a different story: FluxDB held at 16.67 ms while both DBX and DBeaver sat at 33.33 ms. DBX suffered a max stall of 516.67 ms versus FluxDB's 300 ms. FluxDB's design explains the gap: no WebView layer, paginated SQL results, virtualized MongoDB document lists, a single process, and cache memory that releases after closing result pages. The article acknowledges DBeaver's 130+ plugins and 100+ driver support and DBX's cross-platform reach and rapid UI iteration as strengths that come with higher resource overhead.
Average FPS masks perceptible stutter: DBX's 50.48 fps and FluxDB's 52.64 fps look similar on paper, but DBX's 33.33 ms P95 frame interval and 516 ms max stall mean users will feel the difference when scrolling wide result tables.
Post-close memory retention is a stronger differentiator than peak memory for real usage. DBX holds 411 MiB after closing a result page, not because of a leak but likely because WebView caches don't release quickly, and that fixed cost piles up when switching between many results and schemas.
The tradeoff is explicit: DBeaver's 130+ plugins and 100+ drivers and DBX's fast UI iteration and cross-platform reach come with a JVM or WebView/two-process overhead. A leaner client like FluxDB wins on resource usage but intentionally trades away ecosystem breadth.
Personally, DBX is the smoothest to use besides Navicat; I really can't get used to DBeaver, and I haven't tried FluxDB yet.
You can try FluxDB; it was made referencing DBX and Navicat.