Echo JS 0.11.0

<~>
mscdex 484 days ago. link parent 4 points
I agree. I never understood their seemingly consistent bad attitude towards the rest of the community.

Now about the speed increase claims: based on what I've seen in the uWebSockets repo, their http implementation (https://github.com/uWebSockets/uWebSockets/blob/094ee3fcbc7cc1e3adeb81f408374c5f1833363e/nodejs/http.h) is far from complete/compatible with node, so I would expect quite a few applications would break if they were to blindly port over to using this alternative http implementation. Node would be faster too if it didn't have to implement a lot of sanity/safety checks, implement a full EventEmitter interface, properly support node's streams interface, handle special headers appropriately, etc.

What would be more useful is a performance comparison once node compatibility is *all there*.

Replies

alexhultman 483 days ago. link 0 point
You are missing the point of the project. It is not meant to be a 100% copy of Node.js, it is meant to be a server implemented by my rules which then have a minimal Node.js wrapper that allows *most* apps to run verbatim. Of course you are going to find examples of where things will be incompatible and will need to change somewhat.

This is not a new strategy I just made up -> if you look at the WebSocket support it faced the exact same criticism in the beginning but now many people have successfully swapped their project over and can gain from it.

µWS is a stand-alone C++ server, not a Node.js-only module so of course it will have its own soul and its own opinion about how things should be done. If you compare the networking stack of µWS with the stack of Node.js it has nothing in common whatsoever. The stack of µWS is native from top to bottom and does not only outperform Node.js 20x but also NGINX, Apache and other high performance C++ servers.

Of course Node.js could gain a few percentages of performance by being less strict about EventEmitters but we are talking about 10%, not 20000%.

Anyways, this is my attempt at a good & informed response but go ahead and downvote it because it goes against your idea of what Node.js is.
mscdex 481 days ago. link 4 points
If that is your intention with regard to compatibility (including safety features/limits), you should document that and optionally list what your http implementation does/doesn't cover compared to node's implementation (and perhaps other solutions you have already mentioned, such as nginx and Apache). This way users can be more informed about what to expect if they were to switch to uWebSockets' http implementation.
alexhultman 479 days ago. link 0 point
I could try and explain that what you are saying is really just the same old FUD from last year when I first posted about the WebSocket support. But, I'm no longer in a position where I need to actively respond to random users spreading random FUD about stuff they don't know about on a random forum with 3 users in total. It doesn't really matter what you think, clearly you are not interested and that is fine.

I am however going to ask you if you know how I delete my account on this toxic site? I cannot find out how, would you help me? I'm sure we all would feel better that way.

Please help.