Since GraphQL parse and validate phase are static (does not depend on the user input like variables), we can implement caching for both phases (for parser: String => query::Document, for validation: String | query::Document => Vec<ValidationError>).
This might be more relevant once #3057 lands, because if we'll add more validation rules it might add some (probably minimal) overhead.
Usually it's implemented with LRU.
Since GraphQL
parseandvalidatephase are static (does not depend on the user input like variables), we can implement caching for both phases (for parser:String => query::Document, for validation:String | query::Document => Vec<ValidationError>).This might be more relevant once #3057 lands, because if we'll add more validation rules it might add some (probably minimal) overhead.
Usually it's implemented with LRU.