Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
3bf9f02a9f | |||
533c767e1d |
2
Makefile
2
Makefile
@ -22,7 +22,7 @@ BUILD_FLAGS ?= -ldflags '-s -w -X ${lastCommitSHA}=${BUILD} -X "${lastCommitTime
|
|||||||
.PHONY: all build gen clean test run lint changlog release version help $(PLATFORMS)
|
.PHONY: all build gen clean test run lint changlog release version help $(PLATFORMS)
|
||||||
|
|
||||||
test:
|
test:
|
||||||
@go test -v ./...
|
@go test -v -short -race ./...
|
||||||
|
|
||||||
BIN_DIR := $(GOPATH)/bin
|
BIN_DIR := $(GOPATH)/bin
|
||||||
GORICE := $(BIN_DIR)/rice
|
GORICE := $(BIN_DIR)/rice
|
||||||
|
@ -3,6 +3,7 @@ package core
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"path"
|
"path"
|
||||||
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
@ -195,9 +196,13 @@ func newViper(configPath, configFile string) *viper.Viper {
|
|||||||
vi.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
|
vi.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
|
||||||
vi.AutomaticEnv()
|
vi.AutomaticEnv()
|
||||||
|
|
||||||
vi.SetConfigName(configFile)
|
if len(filepath.Ext(configFile)) != 0 {
|
||||||
vi.AddConfigPath(configPath)
|
vi.SetConfigFile(configFile)
|
||||||
vi.AddConfigPath("./config")
|
} else {
|
||||||
|
vi.SetConfigName(configFile)
|
||||||
|
vi.AddConfigPath(configPath)
|
||||||
|
vi.AddConfigPath("./config")
|
||||||
|
}
|
||||||
|
|
||||||
return vi
|
return vi
|
||||||
}
|
}
|
||||||
|
17
core/internal/qcode/bench.9
Normal file
17
core/internal/qcode/bench.9
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
goos: darwin
|
||||||
|
goarch: amd64
|
||||||
|
pkg: github.com/dosco/super-graph/core/internal/qcode
|
||||||
|
BenchmarkQCompile
|
||||||
|
BenchmarkQCompile-16 129614 8649 ns/op 3756 B/op 28 allocs/op
|
||||||
|
BenchmarkQCompileP
|
||||||
|
BenchmarkQCompileP-16 487488 2525 ns/op 3792 B/op 28 allocs/op
|
||||||
|
BenchmarkParse
|
||||||
|
BenchmarkParse-16 127582 8731 ns/op 3902 B/op 18 allocs/op
|
||||||
|
BenchmarkParseP
|
||||||
|
BenchmarkParseP-16 561373 2223 ns/op 3903 B/op 18 allocs/op
|
||||||
|
BenchmarkSchemaParse
|
||||||
|
BenchmarkSchemaParse-16 209142 5523 ns/op 3968 B/op 57 allocs/op
|
||||||
|
BenchmarkSchemaParseP
|
||||||
|
BenchmarkSchemaParseP-16 716437 1734 ns/op 3968 B/op 57 allocs/op
|
||||||
|
PASS
|
||||||
|
ok github.com/dosco/super-graph/core/internal/qcode 8.483s
|
@ -2,6 +2,7 @@ package qcode
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"github.com/chirino/graphql/schema"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -130,7 +131,7 @@ updateThread {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var gql = []byte(`
|
var gql = []byte(`
|
||||||
products(
|
{products(
|
||||||
# returns only 30 items
|
# returns only 30 items
|
||||||
limit: 30,
|
limit: 30,
|
||||||
|
|
||||||
@ -148,7 +149,7 @@ var gql = []byte(`
|
|||||||
id
|
id
|
||||||
name
|
name
|
||||||
price
|
price
|
||||||
}`)
|
}}`)
|
||||||
|
|
||||||
func BenchmarkQCompile(b *testing.B) {
|
func BenchmarkQCompile(b *testing.B) {
|
||||||
qcompile, _ := NewCompiler(Config{})
|
qcompile, _ := NewCompiler(Config{})
|
||||||
@ -181,3 +182,59 @@ func BenchmarkQCompileP(b *testing.B) {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func BenchmarkParse(b *testing.B) {
|
||||||
|
|
||||||
|
b.ResetTimer()
|
||||||
|
b.ReportAllocs()
|
||||||
|
for n := 0; n < b.N; n++ {
|
||||||
|
_, err := Parse(gql)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func BenchmarkParseP(b *testing.B) {
|
||||||
|
b.ResetTimer()
|
||||||
|
b.ReportAllocs()
|
||||||
|
|
||||||
|
b.RunParallel(func(pb *testing.PB) {
|
||||||
|
for pb.Next() {
|
||||||
|
_, err := Parse(gql)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func BenchmarkSchemaParse(b *testing.B) {
|
||||||
|
|
||||||
|
b.ResetTimer()
|
||||||
|
b.ReportAllocs()
|
||||||
|
for n := 0; n < b.N; n++ {
|
||||||
|
doc := schema.QueryDocument{}
|
||||||
|
err := doc.Parse(string(gql))
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func BenchmarkSchemaParseP(b *testing.B) {
|
||||||
|
b.ResetTimer()
|
||||||
|
b.ReportAllocs()
|
||||||
|
|
||||||
|
b.RunParallel(func(pb *testing.PB) {
|
||||||
|
for pb.Next() {
|
||||||
|
doc := schema.QueryDocument{}
|
||||||
|
err := doc.Parse(string(gql))
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user