You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ClickBench Q10 shows a significant MatrixOne performance gap against the DuckDB reference. The values below are elapsed seconds. Each result array is the three measurements emitted by the adapter: [run 1, run 2, run 3]; warm median is the median of the available run-2/run-3 values.
Query
SELECT RegionID, SUM(AdvEngineID), COUNT(*) AS c, AVG(ResolutionWidth), COUNT(DISTINCT UserID) FROM hits GROUP BY RegionID ORDER BY c DESCLIMIT10;
Performance comparison
Engine
Run 1
Run 2
Run 3
Warm median
MatrixOne
735.600
751.040
failed (null)
751.040
DuckDB
2.462
0.512
0.483
0.497
MatrixOne / DuckDB warm-median ratio: 1509.63x
Warm-median difference: 750.543 seconds
Raw MatrixOne timing array: [735.600, 751.040, null]
Raw DuckDB timing array: [2.462, 0.512, 0.483]
Environment and data
MatrixOne measurement:
Branch: main
Commit: 249a458ba567b26d1818fb0496b449135cb05ef2
Hardware: server 129
OS: CentOS
Dataset: ClickBench hits, 99,997,497 rows
MatrixOne raw output: /mnt/fastdata/ClickBench/matrixone/raw_results.md
DuckDB reference:
Result file: duckdb/results/20260511/c6a.metal.json
Machine label: c6a.metal
Result date: 2026-05-11
The two measurements were not collected on the same hardware. The DuckDB value is the latest local c6a.metal reference available; an apples-to-apples rerun on the same server is recommended before assigning a final performance regression magnitude.
Steps to reproduce
Follow the reproduction steps in #27665, including the MatrixOne and DuckDB adapter READMEs:
In the DuckDB adapter, run ./benchmark.sh after setting DUCKDB_BIN_PATH, DUCKDB_DB_PATH, and DUCKDB_DATA_PATH as described in the README.
Compare the Q10 entry in queries.sql; run the query three times after loading the data and record elapsed time and whether the query completes successfully.
Notes
MatrixOne has one failed measurement (ERROR 2013 (HY000): Lost connection to MySQL server during query); the third value is shown as null.
Expected behavior
On comparable hardware with the same dataset, MatrixOne should not exhibit a large query-level performance gap for this workload. Please investigate the execution plan, operators, memory use, and any spill or connection/timeout behavior relevant to this query.
Parent issue
This is a sub-issue of #27665: significant gap in ClickBench query performance between MatrixOne and DuckDB.
Summary
ClickBench Q10 shows a significant MatrixOne performance gap against the DuckDB reference. The values below are elapsed seconds. Each result array is the three measurements emitted by the adapter:
[run 1, run 2, run 3];warm medianis the median of the available run-2/run-3 values.Query
Performance comparison
[735.600, 751.040, null][2.462, 0.512, 0.483]Environment and data
MatrixOne measurement:
main249a458ba567b26d1818fb0496b449135cb05ef2server 129hits, 99,997,497 rows/mnt/fastdata/ClickBench/matrixone/raw_results.mdDuckDB reference:
duckdb/results/20260511/c6a.metal.jsonc6a.metal2026-05-11The two measurements were not collected on the same hardware. The DuckDB value is the latest local
c6a.metalreference available; an apples-to-apples rerun on the same server is recommended before assigning a final performance regression magnitude.Steps to reproduce
hits.tsv.gzdataset for both engines (the adapters support loading the gzip file directly)../benchmark.shafter settingMATRIXONE_HOME,MATRIXONE_DATA_FILE,MATRIXONE_HOST,MATRIXONE_PORT,MATRIXONE_USER, andMATRIXONE_PASSWORDas described in [Bug]: significant gap in clickbench query performance between matrixone and duckdb #27665../benchmark.shafter settingDUCKDB_BIN_PATH,DUCKDB_DB_PATH, andDUCKDB_DATA_PATHas described in the README.queries.sql; run the query three times after loading the data and record elapsed time and whether the query completes successfully.Notes
ERROR 2013 (HY000): Lost connection to MySQL server during query); the third value is shown asnull.Expected behavior
On comparable hardware with the same dataset, MatrixOne should not exhibit a large query-level performance gap for this workload. Please investigate the execution plan, operators, memory use, and any spill or connection/timeout behavior relevant to this query.