fix: benchmark was failing. Also added a benchmark for the chirino/graphql version gql parser to compare results. (#62)
This commit is contained in:
parent
84d55dbc8a
commit
533c767e1d
|
@ -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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue