Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A native Go GraphQL parser.

License

NotificationsYou must be signed in to change notification settings

kuroko/go-graphqlparser

Repository files navigation

Awork in progress native Go GraphQL parser. Our aim is to produce an idiomatic, and extremelyfast GraphQL parser that adheres to theJune 2018 GraphQL specification.

Progress

  • Lexer
  • Parser (in progress)
    • Query parsing
    • Type system parsing
    • Consistent, helpful errors
  • Validation

Benchmarks

Performance is one of this project's main goals, as such, we've kept a keen eye on benchmarks andtried to ensure that our benchmarks are fair, and reasonably comprehensive. Our results so far areshown below.

Benchmarks:

$ go test -bench=. -benchmem -benchtime=10sgoos: linuxgoarch: amd64pkg: github.com/bucketd/go-graphqlparser/languageBenchmarkLexer/bucketd-8                       10000000     1866 ns/op      320 B/op      2 allocs/opBenchmarkLexer/graphql-go-8                     1000000    10913 ns/op     1828 B/op     30 allocs/opBenchmarkLexer/vektah-8                         5000000     3080 ns/op     1760 B/op      8 allocs/opBenchmarkTypeSystemParser/tsQuery/bucketd-8     3000000     4205 ns/op     2480 B/op     38 allocs/opBenchmarkTypeSystemParser/tsQuery/vektah-8      2000000     7819 ns/op     6000 B/op     91 allocs/opBenchmarkParser/normalQuery/bucketd-8           1000000    10934 ns/op     7552 B/op     82 allocs/opBenchmarkParser/normalQuery/graphql-go-8         500000    40478 ns/op    26983 B/op    736 allocs/opBenchmarkParser/normalQuery/vektah-8            1000000    20071 ns/op    15792 B/op    243 allocs/opBenchmarkParser/tinyQuery/bucketd-8            30000000      460 ns/op      448 B/op      7 allocs/opBenchmarkParser/tinyQuery/graphql-go-8         10000000     1504 ns/op     1320 B/op     35 allocs/opBenchmarkParser/tinyQuery/vektah-8             20000000      821 ns/op      984 B/op     13 allocs/opPASSok  github.com/bucketd/go-graphqlparser/language190.444s

Test machine info:

  • CPU: Intel Core i7-7700K @ 8x 5.0GHz
  • RAM: 16GiB 3200MHz DDR4
  • OS: Arch Linux 5.0.4-arch1-1-ARCH
  • Go: version go1.12.1 linux/amd64

The benchmark code is included in this repository, please feel free to take a look at it yourself,if you spot a mistake in our benchmark code that would give us an unfair advantage (ordisadvantage!) then please let us know.

License

MIT

About

A native Go GraphQL parser.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors3

  •  
  •  
  •  

Languages


[8]ページ先頭

©2009-2025 Movatter.jp