File: bench_test.go

package info (click to toggle)
golang-entgo-ent 0.11.3-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 21,952 kB
  • sloc: javascript: 641; makefile: 8; sql: 2
file content (37 lines) | stat: -rw-r--r-- 1,047 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// Copyright 2019-present Facebook Inc. All rights reserved.
// This source code is licensed under the Apache 2.0 license found
// in the LICENSE file in the root directory of this source tree.

package sql

import (
	"testing"

	"entgo.io/ent/dialect"
)

func BenchmarkInsertBuilder_Default(b *testing.B) {
	for _, d := range []string{dialect.SQLite, dialect.MySQL, dialect.Postgres} {
		b.Run(d, func(b *testing.B) {
			b.ReportAllocs()
			for i := 0; i < b.N; i++ {
				Dialect(d).Insert("users").Default().Returning("id").Query()
			}
		})
	}
}

func BenchmarkInsertBuilder_Small(b *testing.B) {
	for _, d := range []string{dialect.SQLite, dialect.MySQL, dialect.Postgres} {
		b.Run(d, func(b *testing.B) {
			b.ReportAllocs()
			for i := 0; i < b.N; i++ {
				Dialect(d).Insert("users").
					Columns("id", "age", "first_name", "last_name", "nickname", "spouse_id", "created_at", "updated_at").
					Values(1, 30, "Ariel", "Mashraki", "a8m", 2, "2009-11-10 23:00:00", "2009-11-10 23:00:00").
					Returning("id").
					Query()
			}
		})
	}
}