Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deconstruct the interpreter #4195

Closed
wants to merge 8 commits into from
Closed

Deconstruct the interpreter #4195

wants to merge 8 commits into from

Conversation

rmosolgo
Copy link
Owner

@rmosolgo rmosolgo commented Sep 13, 2022

This is mostly an exploration into the question, can runtime features be teased out (however ugly) of the existing execution code? If so, maybe GraphQL-Ruby could offer a mix-your-own runtime API.

Make it so that each of these can be opted in to (but all are on by default, for compatibility's sake):

  • Query/multiplex instrumentation
  • .trace
  • Lazy values
  • Object type instantiation / .authorized?
  • Custom field resolution (instead, just call methods by field name)
  • Returning errors / skip (source of many .is_a? checks)
  • context[:current_....], source of many Hash#[]= calls
  • others?

@rmosolgo rmosolgo mentioned this pull request Jan 2, 2023
@rmosolgo
Copy link
Owner Author

I'm exploring these performance improvements by other avenues, for example, #4344 #4342 #4330

@rmosolgo rmosolgo closed this Feb 22, 2023
@rmosolgo rmosolgo deleted the deconstruct-interpreter branch February 22, 2023 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant