aboutsummaryrefslogtreecommitdiff
path: root/tests/benchmarks
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2024-10-02 13:43:47 -0300
committerEuAndreh <eu@euandre.org>2024-10-02 13:43:47 -0300
commite6561e006273edc64baf6b3af30e26a3817214d2 (patch)
tree940042d3d791672caccc43b1056d8bc4078bdacc /tests/benchmarks
parentMakefile: Add fuzz target setup (diff)
downloadgolite-e6561e006273edc64baf6b3af30e26a3817214d2.tar.gz
golite-e6561e006273edc64baf6b3af30e26a3817214d2.tar.xz
Makefile: Setup benchmarking skeleton
Diffstat (limited to 'tests/benchmarks')
-rw-r--r--tests/benchmarks/exec.go29
-rw-r--r--tests/benchmarks/query.go40
2 files changed, 69 insertions, 0 deletions
diff --git a/tests/benchmarks/exec.go b/tests/benchmarks/exec.go
new file mode 100644
index 0000000..11e4133
--- /dev/null
+++ b/tests/benchmarks/exec.go
@@ -0,0 +1,29 @@
+package main
+
+import (
+ "database/sql"
+ "flag"
+
+ _ "golite"
+)
+
+
+
+var nFlag = flag.Int("n", 1_000_000, "The number of iterations to execute")
+
+func main() {
+ flag.Parse()
+ n := *nFlag
+
+ db, err := sql.Open("sqlite3", "file:bench.db?mode=memory&cache=shared")
+ if err != nil {
+ panic(err)
+ }
+
+ for i := 0; i < n; i++ {
+ _, err = db.Exec("SELECT 1;")
+ if err != nil {
+ panic(err)
+ }
+ }
+}
diff --git a/tests/benchmarks/query.go b/tests/benchmarks/query.go
new file mode 100644
index 0000000..b56e186
--- /dev/null
+++ b/tests/benchmarks/query.go
@@ -0,0 +1,40 @@
+package main
+
+import (
+ "database/sql"
+ "flag"
+
+ _ "golite"
+)
+
+
+
+var nFlag = flag.Int("n", 100_000, "The number of iterations to execute")
+
+func main() {
+ flag.Parse()
+ n := *nFlag
+
+ db, err := sql.Open("sqlite3", "file:benchdb?mode=memory&cache=shared")
+ if err != nil {
+ panic(err)
+ }
+
+ var (
+ S sql.NullString
+ I int
+ f float64
+ s string
+ )
+ for i := 0; i < n; i++ {
+ err = db.QueryRow("SELECT NULL, 1, 1.1, 'string';").Scan(
+ &S,
+ &I,
+ &f,
+ &s,
+ )
+ if err != nil {
+ panic(err)
+ }
+ }
+}