r/wizql

▲ 1 r/wizql+2 crossposts

Same Data, Half the RAM: WizQl's Reworked Backend Benchmarked

WizQl Benchmark — Follow-up: Reworked Backend

Since the last benchmark about a month ago, WizQl shipped a completely reworked backend with even more features and bug fixes. We ran the same stress tests again.

> These results apply across all databases WizQl supports — the reworked backend is not Postgres-specific. Whether you're on MySQL, SQLite, or any other supported database, the same memory and performance characteristics carry over.


Test Environment

Client machine MacBook Air M2 — 8 GB RAM, 256 GB storage

Server Windows PC on local network running PostgreSQL via Docker

Table schema

id       INTEGER  -- sequential
name     TEXT     -- random name
balance  INTEGER  -- random integer

2 Million Rows

Client Load Time Memory
TablePlus 16.150s 1.27 GB
WizQl 16.10s 592 MB

Load time is now effectively equal. But the memory story changed dramatically — WizQl uses 592 MB vs TablePlus's 1.27 GB. That's less than half: a 2.1× reduction.


27 Million Rows

Client Load Time Memory
TablePlus 229s 15.8 GB
WizQl 370s 6.06 GB

At this scale, TablePlus loads faster, but the memory gap widens significantly. WizQl uses 6.06 GB vs TablePlus's 15.8 GB2.6× less memory for the same dataset.


Ceiling Test — WizQl Only

> WizQl loaded 262,400,000 rows and reached 25 GB before the system ran out of memory. No artificial cap was hit — it simply used what the machine had.


The Trade-off

The reworked backend made a clear architectural choice: trade some raw speed at extreme row counts for dramatically lower memory pressure.

  • At 2M rows — near-identical performance at half the RAM.
  • At 27M rows — WizQl is the only client that remains practical on a machine with less than 16 GB free.

Because the new backend operates at the driver level — not the query layer — these gains are available universally across every database WizQl connects to, not just Postgres.

u/razein97 — 3 days ago
▲ 1 r/wizql

WizQl - v1.7.1 - Split tabs, Mock Data Generation, Performance stabilization and bug fixes.

Added

  • Split tabs.

  • Params substitutions. Works based on database type. eg:

      PostgreSQL and MongoDB = $1, $2, $3
      SQLite and LibSQL = ?, ?1, :name, @name, $name
      MySQL and IBM DB2 = ?
      DuckDB = ?, $name
    
  • Mock Data Generation

Fixes

  • Fix: Result limit was not working.
  • Fix: PostgreSQL LSP never shutdown after being opened.
  • Fix: Export data failing silently for query results.
  • Fix: API Relay for DB2 would give client error.
  • Fix: CSV import would be inaccurate after breaching 10000 rows.
  • Fix: SQLite create ... etc, were not working.
  • Fix: Transfer database adding row ids.

Changes

  • Lower memory usage and faster performance.
  • Update DuckDB v1.5.1
reddit.com
u/razein97 — 9 days ago