-
Notifications
You must be signed in to change notification settings - Fork 65
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
Consider using fastify-gql #231
Comments
We’d mused about looking into this generally (other servers) but no issue/research yet. Thanks for kicking this off! |
CC @mcollina 🙌 |
|
Please check out https://github.com/fastify/aws-lambda-fastify#%EF%B8%8Fsome-basic-performance-metrics. All of this means that Fastify has a worse cold start time than express, while it provides better runtime performance (which is significant even on lambda). I would also add that the caching technique in fastify-gql relies heavily on in-process caching to achieve maximum throughput. In-process caching is against the lambda philosophy, and as a result the benefit of something like graphql-jit are minimized. |
I think what this issue outline is that we definitely need a concept of plugins for servers. We will not fulfill everyone's requirements regardless of what we choose. We already see three different use-cases/motivations:
There's a couple of options for us as to what we choose by default (assuming we come up with a plugin system to support any graphql server). My suggestion would be to bundle by default a server that has the best ratio performance/bundle size. And for that, I think using something "minimal" like |
About:
Well: https://github.com/fastify/fastify/blob/master/docs/Middleware.md
Later, expected:
I find this interesting as more a point for our own abstraction on the question of if we use fastify or not. See #295 |
According to recent benchmarks done by Ben Awad, migrating to fastify-gql+graphql-jit could result in a 4x performance improvement.
The text was updated successfully, but these errors were encountered: