An experimental GraphQL implementation with Go. This repo focuses on improve GraphQL Parse and Resolve speed to a new level.
For now, we will try JIT Parser, Raw-ASM Parser, and SIMD methods to optimize.
WARNING: this repo is under construction, not production-ready.
Steps & Objects
- Finish a minimal example include query operation. (
- Finish simple ASM optimized demo. (
- Finish grammar EBNF definition. (
- Finish full GraphQL lexer & parser. (
- Finish GraphQL backend with OperationDefinition feature. ()
- Finish simple JIT prototype. ()
- Finish stringify optimize. ()
- Finish GraphQL backend with Directive feature. ()
- Finish GraphQL backend with full FragmentDefinition feature. ()
- Finish GraphQL backend with full Definition feature. ()
- Finish GC & memory Optimize. ()
- Finish ASM & SIMD Optimize. ()
The basic backend logic of this repo is port from graphql-go, and the lexer & parser are inspired by Lua.