Closed ghost closed 8 years ago
@PokemonAshLovesMyTurkeyAndILikeYouTwo You cannot compare one server with permessage-deflate and one without, so the only valid number from your benchmark is the 7x (which is a massive number, we are talking about 700% difference, not 0.1% or something like that).
Oops yeah you're right. I was just assuming since perMessageDeflate is enabled by default (and no documentation about it) -- most people probably wouldn't of known when doing their own benchmarks.
But yeah, it's technically not fair. I'll edit my post ty
Edit: Seems like I'm a retard, it is documented @alexhultman showed below -- my bad
It is documented here: https://github.com/websockets/ws/blob/master/doc/ws.md#optionspermessagedeflate :wink:
I agree that the description should be updated but this is kinda funny.
I think I've been pretty much civil he whole time
This is an excerpt from a deleted comment:
I've read quite a few of these :)
I've updated the description.
It still says fastest actually.
Does uws
work on all Node.js supported platfroms? Specifically
System | Support type | Version | Architectures | Notes |
---|---|---|---|---|
GNU/Linux | Tier 1 | kernel >= 2.6.18, glibc >= 2.5 | x86, x64, arm, arm64 | |
macOS | Tier 1 | >= 10.10 | x64 | |
Windows | Tier 1 | >= Windows 7 or >= Windows2008R2 | x86, x64 | |
SmartOS | Tier 2 | >= 15 < 16.4 | x86, x64 | see note1 |
FreeBSD | Tier 2 | >= 10 | x64 | |
GNU/Linux | Tier 2 | kernel >= 4.2.0, glibc >= 2.19 | ppc64be | |
GNU/Linux | Tier 2 | kernel >= 3.13.0, glibc >= 2.19 | ppc64le | |
AIX | Tier 2 | >= 6.1 TL09 | ppc64be | |
GNU/Linux | Tier 2 | kernel >= 3.10, glibc >= 2.17 | s390x | |
macOS | Experimental | >= 10.8 < 10.10 | x64 | no test coverage |
Linux (musl) | Experimental | musl >= 1.0 | x64 |
If not I think the description (fastest crossplatform for Node.js) is still valid as I don't know any other WebSocket implementation for Node.js that have better performance than ws.
I can't really understand what's the point in comparing Socket.IO with a pure WebSocket server but that's another story.
So now it also properly supports SSL on Windows for Node 4.x? Nice. Anyway I've just updated the description to reflect the one in the npm package so hopefully this will come to an end.
ws doesn't run on AmigaOS so it is not cross-platform either (see the infinite logical error here?)
Hmm no sorry I can't see it. ws runs where Node.js runs (all versions, platforms and features). Anyway we have different opinions so there is no point in keeping this going especially now that the description has been updated.
Good night.
+1.
@3rd-Eden You are correct about the
perMessageDeflate
issue and I apologize for my tone on my last issue. It does use more CPU to save the cost of bandwidth. However.....The problem is about this benchmark: https://github.com/alexhultman/uWebSockets/issues/152#issue-160389186
The performance difference between
ws
anduws
is drastic. Even if you disable theperMessageDeflate
setting,uws
is still around 7-8x faster thanws
. And, theperMessageDeflate
setting is enabled by default.After looking at the benchmarks here, and when
perMessageDeflate
is enabled... the performance difference is around 16x... These results are whenperMessageDefault
is enabled onws
And, the description of this module is
ws: The fastest RFC-6455 WebSocket implementation for Node.js.
. That's just not simply true anymore. @3rd-Eden It's time to let it go.