websockets / ws

Simple to use, blazing fast and thoroughly tested WebSocket client and server for Node.js
MIT License
21.6k stars 2.42k forks source link

Change project description "fastest" -> "fast". #757

Closed ghost closed 8 years ago

PokemonAshLovesMyTurkeyAndILikeYouTwo commented 8 years ago

+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 and uws is drastic. Even if you disable the perMessageDeflate setting, uws is still around 7-8x faster than ws. And, the perMessageDeflate 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 when perMessageDefault is enabled on ws

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.

ghost commented 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).

PokemonAshLovesMyTurkeyAndILikeYouTwo commented 8 years ago

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

ghost commented 8 years ago

It is documented here: https://github.com/websockets/ws/blob/master/doc/ws.md#optionspermessagedeflate :wink:

lpinca commented 8 years ago

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:

screen shot 2016-06-17 at 11 50 28

I've read quite a few of these :)

3rd-Eden commented 8 years ago

I've updated the description.

manast commented 7 years ago

It still says fastest actually. image

lpinca commented 7 years ago

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.

lpinca commented 7 years ago

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.

lpinca commented 7 years ago

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.