Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Lol, after deeper looking at that better benchmark I see they measure "hello world" :) https://github.com/miguelmota/golang-for-nodejs-developers here I found Graphql benchmark
I would argue that single threaded node is the bottleneck: imagine you have 4 processors and 4 node processes, and each process ties to handle requests in a most effective: process first request, while accessing file or db it start processing another request. The libs, in contrary, written in a bad way is the main bottleneck, and it's easy to prove: here is a benchmark of go graphql implementations (testing simple hello world): https://github.com/appleboy/golang-graphql-benchmark graphql-go - 19k rps gqlgen + net/http - 52k rps - 2.5 times faster
here is another benchmark of node.js frameworks, also testing something very simple: https://github.com/fastify/benchmarks polka - 57k rps express (most popular framework) - 10k rps - 5 times slower
Related posts
- Optimizing Go string operations with practical examples
- Dynamic GraphQL queries with Mercurius
- How to use DataLoader with Mercurius GraphQL
- How to get notified about new major / minor versions of a docker container which is fixed to dedicated minor version
- I want to contribute to open-source software written in Go