0
0
mirror of https://gitlab.com/cznic/sqlite.git synced 2025-06-11 23:41:48 +00:00
Files
go-sqlite/Makefile

168 lines
5.4 KiB
Makefile
Raw Normal View History

2017-04-21 01:17:29 +02:00
# Copyright 2017 The Sqlite Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
2020-08-26 23:31:54 +02:00
.PHONY: all clean cover cpu editor internalError later mem nuke todo edit tcl extraquick full
2017-04-21 01:17:29 +02:00
grep=--include=*.go --include=*.l --include=*.y --include=*.yy
2020-07-26 22:36:18 +02:00
ngrep='TODOOK\|internal\/vfs\|internal\/bin\|internal\/mptest\|.*stringer.*\.go'
2020-09-13 15:31:23 +02:00
host=$(shell go env GOOS)-$(shell go env GOARCH)
testlog=testdata/testlog-$(shell echo $$GOOS)-$(shell echo $$GOARCH)$(shell echo $$SQLITE_TEST_SUFFIX)
2017-04-21 01:17:29 +02:00
all: editor
2019-12-18 17:51:11 +01:00
date
2020-09-13 15:31:23 +02:00
go version 2>&1 | tee log
2019-12-18 17:51:11 +01:00
./unconvert.sh
gofmt -l -s -w *.go
go test -i
2020-09-13 15:31:23 +02:00
go test -v 2>&1 -timeout 24h | tee -a log
2020-08-26 23:31:54 +02:00
go run speedtest1/main_$(shell go env GOOS)_$(shell go env GOARCH).go
2020-12-21 21:13:47 +01:00
GOOS=linux GOARCH=386 go build -v ./...
2020-09-08 13:28:55 +02:00
GOOS=linux GOARCH=386 go build -v ./...
2020-08-26 23:31:54 +02:00
GOOS=linux GOARCH=amd64 go build -v ./...
2020-12-21 21:13:47 +01:00
GOOS=linux GOARCH=amd64 go build -v ./...
GOOS=linux GOARCH=arm go build -v ./...
GOOS=linux GOARCH=arm64 go build -v ./...
GOOS=windows GOARCH=386 go build -v ./...
GOOS=windows GOARCH=amd64 go build -v ./...
2017-04-21 01:17:29 +02:00
golint 2>&1 | grep -v $(ngrep) || true
misspell *.go
2020-08-26 23:31:54 +02:00
staticcheck || true
2017-04-21 01:17:29 +02:00
maligned || true
2020-07-26 22:36:18 +02:00
git diff --unified=0 testdata *.golden
2020-09-13 15:31:23 +02:00
grep -n --color=always 'FAIL\|PASS' log
2019-12-18 17:51:11 +01:00
go version
2020-09-13 15:31:23 +02:00
date 2>&1 | tee -a log
darwin_amd64:
TARGET_GOOS=darwin TARGET_GOARCH=amd64 go generate 2>&1 | tee /tmp/log-generate-sqlite-darwin-amd64
GOOS=darwin GOARCH=amd64 go build -v ./...
2020-09-13 15:31:23 +02:00
linux_amd64:
TARGET_GOOS=linux TARGET_GOARCH=amd64 go generate 2>&1 | tee /tmp/log-generate-sqlite-linux-amd64
GOOS=linux GOARCH=amd64 go build -v ./...
2020-09-08 13:28:55 +02:00
linux_386:
CCGO_CPP=i686-linux-gnu-cpp TARGET_GOARCH=386 TARGET_GOOS=linux go generate 2>&1 | tee /tmp/log-generate-sqlite-linux-386
2020-09-08 13:28:55 +02:00
GOOS=linux GOARCH=386 go build -v ./...
2020-09-13 15:31:23 +02:00
linux_arm:
CCGO_CPP=arm-linux-gnueabi-cpp-8 TARGET_GOARCH=arm TARGET_GOOS=linux go generate 2>&1 | tee /tmp/log-generate-sqlite-linux-arm
2020-09-13 15:31:23 +02:00
GOOS=linux GOARCH=arm go build -v ./...
linux_arm64:
CCGO_CPP=aarch64-linux-gnu-cpp-8 TARGET_GOARCH=arm64 TARGET_GOOS=linux go generate 2>&1 | tee /tmp/log-generate-sqlite-linux-arm64
2020-09-13 15:31:23 +02:00
GOOS=linux GOARCH=arm64 go build -v ./...
2020-12-21 21:10:07 +01:00
windows_amd64:
CCGO_CPP=x86_64-w64-mingw32-cpp TARGET_GOOS=windows TARGET_GOARCH=amd64 go generate 2>&1 | tee /tmp/log-generate-sqlite-windows-amd64
GOOS=windows GOARCH=amd64 go build -v ./...
windows_386:
CCGO_CPP=i686-w64-mingw32-cpp TARGET_GOOS=windows TARGET_GOARCH=386 go generate 2>&1 | tee /tmp/log-generate-sqlite-windows-386
GOOS=windows GOARCH=386 go build -v ./...
2020-12-22 22:10:08 +01:00
all_targets: linux_amd64 linux_386 linux_arm linux_arm64 windows_amd64 windows_386
gofmt -l -s -w .
echo done
2020-09-13 15:31:23 +02:00
test:
go version | tee $(testlog)
uname -a | tee -a $(testlog)
go test -v -timeout 24h | tee -a $(testlog)
grep -ni fail $(testlog) | tee -a $(testlog) || true
LC_ALL=C date | tee -a $(testlog)
grep -ni --color=always fail $(testlog) || true
test_darwin_amd64:
GOOS=darwin GOARCH=amd64 make test
2020-09-13 15:31:23 +02:00
test_linux_amd64:
GOOS=linux GOARCH=amd64 make test
test_linux_386:
GOOS=linux GOARCH=386 make test
test_linux_386_hosted:
GOOS=linux GOARCH=386 SQLITE_TEST_SUFFIX=-hosted-$(host) make test
test_linux_arm:
GOOS=linux GOARCH=arm make test
test_linux_arm64:
GOOS=linux GOARCH=arm64 make test
2017-04-21 01:17:29 +02:00
2020-08-26 23:31:54 +02:00
extraquick:
go test -timeout 24h -v -run Tcl -suite extraquick -maxerror 1 2>&1 | tee log-extraquick
date
full:
go test -timeout 24h -v -run Tcl -suite full 2>&1 | tee log-full
date
2017-04-21 01:17:29 +02:00
clean:
go clean
rm -f *~ *.test *.out test.db* tt4-test*.db* test_sv.* testdb-*
2017-04-21 01:17:29 +02:00
cover:
t=$(shell tempfile) ; go test -coverprofile $$t && go tool cover -html $$t && unlink $$t
cpu: clean
go test -run @ -bench . -cpuprofile cpu.out
go tool pprof -lines *.test cpu.out
edit:
2021-01-25 09:24:40 +01:00
@touch log
@if [ -f "Session.vim" ]; then gvim -S & else gvim -p Makefile *.go & fi
2017-04-21 01:17:29 +02:00
editor:
gofmt -l -s -w *.go
2021-01-15 17:22:10 +01:00
GO111MODULE=off go install -v ./...
2017-04-21 01:17:29 +02:00
internalError:
egrep -ho '"internal error.*"' *.go | sort | cat -n
later:
@grep -n $(grep) LATER * || true
@grep -n $(grep) MAYBE * || true
mem: clean
go test -run @ -bench . -memprofile mem.out -memprofilerate 1 -timeout 24h
go tool pprof -lines -web -alloc_space *.test mem.out
2021-02-17 18:42:44 +01:00
memgrind:
2021-02-17 22:45:16 +01:00
go test -v -timeout 24h -tags libc.memgrind,cgobench -bench . -suite extraquick -xtags=libc.memgrind
2021-01-17 11:38:58 +01:00
release v1.8.7: split production and testing goos: linux goarch: amd64 pkg: modernc.org/sqlite benchmark old ns/op new ns/op delta BenchmarkInsertComparative/sqliteInMemory1e2-24 429571 377501 -12.12% BenchmarkInsertComparative/sqliteInMemory1e1-24 48237 42821 -11.23% BenchmarkInsertComparative/sqliteOnDisk1e6-24 4154225001 3700442279 -10.92% BenchmarkInsertComparative/sqliteInMemory1e3-24 4159909 3706782 -10.89% BenchmarkInsertComparative/sqliteInMemory1e5-24 413908251 371288884 -10.30% BenchmarkInsertComparative/sqliteInMemory1e6-24 4115347177 3716848025 -9.68% BenchmarkInsertComparative/sqliteInMemory1e4-24 40789173 36868407 -9.61% BenchmarkInsertComparative/sqliteOnDisk1e4-24 42562798 38656452 -9.18% BenchmarkInsertComparative/sqliteOnDisk1e5-24 402785172 369788052 -8.19% BenchmarkInsertComparative/sqliteOnDisk1e3-24 5458279 5074514 -7.03% BenchmarkReading1/sqliteOnDisk1e5-24 43129144 41231015 -4.40% BenchmarkInsertComparative/sqliteOnDisk1e2-24 1941170 1862031 -4.08% BenchmarkReading1/sqliteInMemory1e2-24 37453 36098 -3.62% BenchmarkReading1/sqliteInMemory1e6-24 425087394 412138650 -3.05% BenchmarkReading1/sqliteInMemory1e3-24 433789 420847 -2.98% BenchmarkReading1/sqliteInMemory1e5-24 43580631 44920215 +3.07% BenchmarkInsertComparative/sqliteOnDisk1e1-24 1424724 1383383 -2.90% BenchmarkReading1/sqliteOnDisk1e3-24 420967 408792 -2.89% BenchmarkReading1/sqliteInMemory1e4-24 4141184 4246119 +2.53% BenchmarkReading1/sqliteOnDisk1e6-24 427200030 416698349 -2.46% BenchmarkReading1/sqliteInMemory1e1-24 4155 4214 +1.42% BenchmarkReading1/sqliteOnDisk1e1-24 4244 4293 +1.15% BenchmarkReading1/sqliteOnDisk1e4-24 4191184 4148692 -1.01% BenchmarkReading1/sqliteOnDisk1e2-24 35719 35661 -0.16% benchmark old MB/s new MB/s speedup BenchmarkInsertComparative/sqliteInMemory1e2-24 232790.51 264899.97 1.14x BenchmarkInsertComparative/sqliteInMemory1e1-24 207307.71 233530.55 1.13x BenchmarkInsertComparative/sqliteOnDisk1e6-24 240718.79 270237.97 1.12x BenchmarkInsertComparative/sqliteInMemory1e3-24 240389.86 269775.81 1.12x BenchmarkInsertComparative/sqliteInMemory1e5-24 241599.44 269332.06 1.11x BenchmarkInsertComparative/sqliteInMemory1e6-24 242992.86 269045.17 1.11x BenchmarkInsertComparative/sqliteInMemory1e4-24 245163.10 271234.94 1.11x BenchmarkInsertComparative/sqliteOnDisk1e4-24 234946.96 258689.03 1.10x BenchmarkInsertComparative/sqliteOnDisk1e5-24 248271.30 270425.18 1.09x BenchmarkInsertComparative/sqliteOnDisk1e3-24 183207.93 197063.22 1.08x BenchmarkReading1/sqliteOnDisk1e5-24 2318617.77 2425358.70 1.05x BenchmarkInsertComparative/sqliteOnDisk1e2-24 51515.33 53704.79 1.04x BenchmarkReading1/sqliteInMemory1e2-24 2669989.49 2770256.42 1.04x BenchmarkReading1/sqliteInMemory1e6-24 2352457.44 2426367.92 1.03x BenchmarkReading1/sqliteInMemory1e3-24 2305266.63 2376161.60 1.03x BenchmarkReading1/sqliteInMemory1e5-24 2294597.33 2226169.21 0.97x BenchmarkInsertComparative/sqliteOnDisk1e1-24 7018.90 7228.65 1.03x BenchmarkReading1/sqliteOnDisk1e3-24 2375484.11 2446234.47 1.03x BenchmarkReading1/sqliteInMemory1e4-24 2414768.40 2355092.06 0.98x BenchmarkReading1/sqliteOnDisk1e6-24 2340823.81 2399817.53 1.03x BenchmarkReading1/sqliteInMemory1e1-24 2406780.42 2372802.98 0.99x BenchmarkReading1/sqliteOnDisk1e1-24 2356337.86 2329103.03 0.99x BenchmarkReading1/sqliteOnDisk1e4-24 2385960.79 2410398.31 1.01x BenchmarkReading1/sqliteOnDisk1e2-24 2799619.97 2804187.40 1.00x benchmark old allocs new allocs delta BenchmarkInsertComparative/sqliteInMemory1e2-24 604 504 -16.56% BenchmarkInsertComparative/sqliteOnDisk1e2-24 616 516 -16.23% BenchmarkInsertComparative/sqliteInMemory1e1-24 64 54 -15.62% BenchmarkInsertComparative/sqliteInMemory1e3-24 6748 5748 -14.82% BenchmarkInsertComparative/sqliteOnDisk1e3-24 6760 5760 -14.79% BenchmarkInsertComparative/sqliteInMemory1e4-24 69748 59748 -14.34% BenchmarkInsertComparative/sqliteOnDisk1e4-24 69760 59760 -14.33% BenchmarkInsertComparative/sqliteInMemory1e5-24 699748 599748 -14.29% BenchmarkInsertComparative/sqliteOnDisk1e5-24 699760 599760 -14.29% BenchmarkInsertComparative/sqliteOnDisk1e6-24 6999761 5999760 -14.29% BenchmarkInsertComparative/sqliteInMemory1e6-24 6999748 5999749 -14.29% BenchmarkInsertComparative/sqliteOnDisk1e1-24 76 66 -13.16% benchmark old bytes new bytes delta BenchmarkInsertComparative/sqliteInMemory1e1-24 1360 1200 -11.76% BenchmarkInsertComparative/sqliteInMemory1e2-24 12880 11376 -11.68% BenchmarkInsertComparative/sqliteOnDisk1e2-24 12960 11472 -11.48% BenchmarkInsertComparative/sqliteOnDisk1e1-24 1440 1296 -10.00% BenchmarkInsertComparative/sqliteInMemory1e3-24 134032 124224 -7.32% BenchmarkInsertComparative/sqliteOnDisk1e3-24 134113 124336 -7.29% BenchmarkInsertComparative/sqliteInMemory1e4-24 1358038 1276229 -6.02% BenchmarkInsertComparative/sqliteOnDisk1e4-24 1358122 1276343 -6.02% BenchmarkInsertComparative/sqliteInMemory1e5-24 13598144 12796272 -5.90% BenchmarkInsertComparative/sqliteOnDisk1e5-24 13598197 12796405 -5.90% BenchmarkInsertComparative/sqliteOnDisk1e6-24 135998816 127996608 -5.88% BenchmarkInsertComparative/sqliteInMemory1e6-24 135998544 127996640 -5.88% BenchmarkReading1/sqliteInMemory1e4-24 156432 156440 +0.01% BenchmarkReading1/sqliteOnDisk1e4-24 156433 156432 -0.00% BenchmarkReading1/sqliteInMemory1e5-24 1596439 1596434 -0.00% BenchmarkReading1/sqliteOnDisk1e5-24 1596439 1596435 -0.00% BenchmarkReading1/sqliteInMemory1e6-24 15996522 15996490 -0.00% BenchmarkReading1/sqliteOnDisk1e6-24 15996485 15996506 +0.00%
2021-01-31 12:07:26 +01:00
regression_base_release:
GO111MODULE=on go test -v -timeout 24h -tags=cgobench -run @ -bench '(Reading1|InsertComparative)/sqlite[^3]' -recs_per_sec_as_mbps 2>&1 | tee log-regression-base
2021-01-19 14:34:43 +01:00
regression_base_master:
GO111MODULE=off go test -v -timeout 24h -tags=cgobench -run @ -bench '(Reading1|InsertComparative)/sqlite[^3]' -recs_per_sec_as_mbps 2>&1 | tee log-regression-base
2021-01-17 21:34:54 +01:00
regression_check:
2021-01-19 14:34:43 +01:00
GO111MODULE=off go test -v -timeout 24h -tags=cgobench -run @ -bench '(Reading1|InsertComparative)/sqlite[^3]' -recs_per_sec_as_mbps 2>&1 | tee log-regression
benchcmp -changed -mag log-regression-base log-regression
2021-01-17 21:34:54 +01:00
2017-04-21 01:17:29 +02:00
nuke: clean
go clean -i
todo:
@grep -nr $(grep) ^[[:space:]]*_[[:space:]]*=[[:space:]][[:alpha:]][[:alnum:]]* * | grep -v $(ngrep) || true
@grep -nr $(grep) TODO * | grep -v $(ngrep) || true
@grep -nr $(grep) BUG * | grep -v $(ngrep) || true
@grep -nr $(grep) [^[:alpha:]]println * | grep -v $(ngrep) || true
2020-07-26 22:36:18 +02:00
tcl:
cp log log-0
go test -run Tcl$$ 2>&1 -timeout 24h -trc | tee log
grep -c '\.\.\. \?Ok' log || true
grep -c '^!' log || true
# grep -c 'Error:' log || true
tclshort:
cp log log-0
go test -run Tcl$$ -short 2>&1 -timeout 24h -trc | tee log
grep -c '\.\.\. \?Ok' log || true
grep -c '^!' log || true
# grep -c 'Error:' log || true