tpch

command module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 29, 2026 License: BSD-3-Clause Imports: 16 Imported by: 0

README

logo-png

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

Go Reference

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

Overview

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL