Skip to content

Commit 100dea4

Browse files
author
José Carlos Nieto
committed
Adding some benchmarks to help on #20
1 parent ef462ca commit 100dea4

1 file changed

Lines changed: 68 additions & 0 deletions

File tree

sqlite/sqlite_test.go

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package sqlite
22

33
import (
4+
"database/sql"
45
"fmt"
56
"github.com/kr/pretty"
67
"math/rand"
@@ -738,3 +739,70 @@ func TestDataTypes(t *testing.T) {
738739
}
739740

740741
}
742+
743+
func BenchmarkAppendRaw(b *testing.B) {
744+
sess, err := db.Open(wrapperName, settings)
745+
746+
if err != nil {
747+
b.Fatalf(err.Error())
748+
}
749+
750+
defer sess.Close()
751+
752+
people := sess.ExistentCollection("people")
753+
people.Truncate()
754+
755+
driver := sess.Driver().(*sql.DB)
756+
757+
b.ResetTimer()
758+
for i := 0; i < b.N; i++ {
759+
_, err := driver.Exec(`INSERT INTO people (name) VALUES("john")`)
760+
if err != nil {
761+
b.Fatalf(err.Error())
762+
}
763+
}
764+
}
765+
766+
// Contributed by wei2912
767+
// See: https://github.com/gosexy/db/issues/20#issuecomment-20097801
768+
func BenchmarkAppendDbItem(b *testing.B) {
769+
sess, err := db.Open(wrapperName, settings)
770+
771+
if err != nil {
772+
b.Fatalf(err.Error())
773+
}
774+
775+
defer sess.Close()
776+
777+
people := sess.ExistentCollection("people")
778+
people.Truncate()
779+
780+
b.ResetTimer()
781+
for i := 0; i < b.N; i++ {
782+
_, err = people.Append(db.Item{"name": "john"})
783+
if err != nil {
784+
b.Fatalf(err.Error())
785+
}
786+
}
787+
}
788+
789+
func BenchmarkAppendStruct(b *testing.B) {
790+
sess, err := db.Open(wrapperName, settings)
791+
792+
if err != nil {
793+
b.Fatalf(err.Error())
794+
}
795+
796+
defer sess.Close()
797+
798+
people := sess.ExistentCollection("people")
799+
people.Truncate()
800+
801+
b.ResetTimer()
802+
for i := 0; i < b.N; i++ {
803+
_, err = people.Append(struct{ Name string }{"john"})
804+
if err != nil {
805+
b.Fatalf(err.Error())
806+
}
807+
}
808+
}

0 commit comments

Comments
 (0)