Turbo can't be really added to this comparison, well, at least not as a Nodejs contender, since it uses turbo-net which is basically a complete replacement to Node's native http module, which most other frameworks use. Perhaps add turbo-net to the C category.
As for now, there is not categorization, except th茅 language we write un.
For example, japronto is catgeorized as python but it'ws pretty much C instead.
I think, a solution, after will be tout add some purity classification
Turbo is not a framework. It is a replacement for the native http server.
Put differently, you can run every existing Node framework with an attachment to Turbo. You can also do the same thing with uws, which would win by 2x.
Both turbo & uws are Node.js bindings / _shims_ to a C http server. Japronto is different because it includes framework aspects with it; eg, routing and response helpers.
@lukeed Thanks for clarification.
The question is : Is there one (and only one) library that
turbo-httpjavascript (server-side)As far as I understand, the IS NOT (turbo is generalist)
So we can close this case (project is not enough mature for that)
PS : I hope something like this will be added to https://github.com/ry/deno
Not sure if I understand your question correctly. If I do, then yes, there are many:
Polka can do it. I have examples in the repo with uws -- there's a branch with turbo but it's not official example because Turbo is super buggy.
You can replace http with Express (& Fastify, I believe). It's very common. I'm not certain but I'm willing to be Rayo supports custom server too.
For numbers, on my machine, Polka + native http runs at 42k req/s on Node 8.x
Replacing native http with turbo in the same Polka app runs at 68k req/s on Node 8.x
Replacing native http with uws in the same Polka app runs at 92k req/s on Node 8.x
This doesn't mean Polka is faster -- only the underlying server / "engine" was upgraded.
@lukeed Ah yeah, seems to be fast ^^ very interesting for me (not a node developer)
So, this change a little bit the question, what server implementation to use ?
As we target developers, at least implementations of each frameworks are made by developers, I think we SHOULD keep the default http implementation
Use native http -- that's the default & is what ships with Node.js. 99.9999% of the population is using this & will always use this.
Switching to turbo or uws is a very careful decision that needs to be made. They are (both) purposefully incomplete, so cannot be done haphazardly or without careful inspection. I can't speak to all their differences here, but the synopsis is that Turbo/uWS are only to be used for tiny, specific use cases that can be thoroughly tested.
They cannot, in present states, be used to power entire applications.
@lukeed -Yes, Rayo supports a custom HTTP server as well.
... on my machine, Polka + native http runs at 42k req/s on Node 8.x
You have a fast machine, my 2013 laptop gets 20k at most. 馃檲
Most helpful comment
As for now, there is not categorization, except th茅 language we write un.
For example,
japrontois catgeorized aspythonbut it'ws pretty much C instead.I think, a solution, after will be tout add some purity classification