command
module
Version:
v0.1.1
Opens a new window with list of versions in this module.
Published: Mar 29, 2026
License: BSD-3-Clause
Opens a new window with license information.
Imports: 16
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
¶

Command tpch implements the TPC-H benchmarks for selected Go SQLite drivers.

TPC-H Benchmark Results (2026-03-29 18:02:01)
Scale Factor: 1 (1 GB Database)
| Driver |
Implementation |
DB Generation |
Query 1 |
Query 2 |
mattn/go-sqlite3 |
CGO |
50.06s |
5.36s |
3.24s |
modernc.org/sqlite |
Pure Go (ccgo/v4) |
1m 05.66s |
12.02s |
5.36s |
ncruces/go-sqlite3 |
Pure Go (wasm2go) |
50.87s |
20.59s |
6.08s |
Scale Factor: 10 (10 GB Database)
| Driver |
Implementation |
DB Generation |
Query 1 |
Query 2 |
mattn/go-sqlite3 |
CGO |
8m 48.30s |
58.83s |
49.80s |
modernc.org/sqlite |
Pure Go (ccgo/v4) |
11m 18.63s |
2m 08.97s |
1m 18.12s |
ncruces/go-sqlite3 |
Pure Go (wasm2go) |
9m 10.56s |
3m 39.33s |
2m 42.00s |
Package versions (GOOS=linux GOARCH=amd64)
module modernc.org/tpch
go 1.26.0
require (
github.com/mattn/go-sqlite3 v1.14.37
github.com/ncruces/go-sqlite3 v0.33.1
modernc.org/mathutil v1.7.1
modernc.org/sqlite v1.47.0
)
require (
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/ncruces/go-sqlite3-wasm v1.0.3-0.20260328094950-9a3c1e23fa90 // indirect
github.com/ncruces/go-strftime v1.0.0 // indirect
github.com/ncruces/julianday v1.0.0 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
golang.org/x/sys v0.42.0 // indirect
modernc.org/libc v1.70.0 // indirect
modernc.org/memory v1.11.0 // indirect
)
Documentation
¶
Command tpch implements the TPC-H benchmarks for selected Go SQLite drivers.
Currently supported drivers ¶
-cpuprofile <file-name> ¶
Write a cpu profile to <file-name>.
-dbgen ¶
Generate test DB. (Several GB)
-list ¶
List registered drivers.
-mem ¶
Run test with DB in mem, if SUT (System Under Test) supports that.
-memprofile <file-name> ¶
Write a memory profile to <file-name>.
-pseudotext ¶
Generate testdata/pseudotext (300MB).
-q <int> ¶
Query to run, if > 0. Valid values in [1, 2]. Default 0.
-sf <int> ¶
Scale factor. Default 1.
-sut <string> ¶
System Under Test name. Default "".
-v ¶
Verbose.
Source Files
¶
Directories
¶
Click to show internal directories.
Click to hide internal directories.