File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11package sqlite
22
33import (
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+ }
You can’t perform that action at this time.
0 commit comments