TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Websocket Shootout: Clojure, C++, Elixir, Go, Node.js, and Ruby

83 点作者 blahedo超过 8 年前

9 条评论

chrismccord超过 8 年前
Phoenix creator here. At the very least, this post needs to include the following points:<p>- Phoenix Channels is a higher-level abstraction over raw WS. We spawn isolated, concurrent &quot;channels&quot; on the underlying WebSocket connection. We monitor these channels so that clients can detect errors and recover automatically without dropping the entire connection. This contributes to overhead in both memory and throughput, which should be highlighted with how Phoenix faired in the runs.<p>- Phoenix channels runs on a <i>distributed pubsub</i> system. None of the other contestants had a distribution story, so their broadcasts are only node-local implementations, where ours is distributed out of the box<p>Phoenix faired quite well in these runs, considering we are comparing a robust feature set vs raw ws&#x2F;pubsub implementations.
评论 #12421732 未加载
评论 #12421784 未加载
评论 #12421785 未加载
easong超过 8 年前
Some discussion on the elixir subreddit a few days ago: <a href="https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;elixir&#x2F;comments&#x2F;50nvhg&#x2F;websocket_shootout_clojure_c_elixir_go_nodejs_and&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;elixir&#x2F;comments&#x2F;50nvhg&#x2F;websocket_sh...</a><p>Of note is that of these, I think only the elixir and ruby (?) solutions are distributed. Additionally, Phoenix channels are doing a lot of work that the other solutions aren&#x27;t.
onestone超过 8 年前
Should have used <a href="https:&#x2F;&#x2F;github.com&#x2F;uWebSockets&#x2F;uWebSockets" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;uWebSockets&#x2F;uWebSockets</a> for Node.js, if performance was the objective.
评论 #12423077 未加载
phodo超过 8 年前
Nice article. Not trying to start a subjective debate on languages&#x2F; technologies, but it did seem odd they would include a language like ruby but not python, c#, or java &#x2F; scala.
评论 #12424380 未加载
评论 #12421514 未加载
评论 #12421768 未加载
chaotic-good超过 8 年前
With C++ one can go far further than that. It&#x27;s the matter of time spent on the solution. With all that other languages there is a performance ceiling that can&#x27;t be breached.
seniorsassycat超过 8 年前
Is single threaded node was 39% I wonder how a clustered node app would compare.
评论 #12423083 未加载
评论 #12422584 未加载
SNvD7vEJ超过 8 年前
Odd there were no mention of Java.<p>Both high speed and simple to develop :<p><a href="http:&#x2F;&#x2F;docs.spring.io&#x2F;spring&#x2F;docs&#x2F;current&#x2F;spring-framework-reference&#x2F;html&#x2F;websocket.html" rel="nofollow">http:&#x2F;&#x2F;docs.spring.io&#x2F;spring&#x2F;docs&#x2F;current&#x2F;spring-framework-r...</a><p><a href="https:&#x2F;&#x2F;spring.io&#x2F;guides&#x2F;gs&#x2F;messaging-stomp-websocket&#x2F;" rel="nofollow">https:&#x2F;&#x2F;spring.io&#x2F;guides&#x2F;gs&#x2F;messaging-stomp-websocket&#x2F;</a>
zealsham超过 8 年前
Using the cluster module for nodejs will make it almost the fastest and when we add activities like reading from a database nodejs asynchronous pattern beats everybody
评论 #12424687 未加载
评论 #12422588 未加载
评论 #12422301 未加载
pcunite超过 8 年前
&quot;C++ offers the best performance ...&quot;<p>Yep
评论 #12423193 未加载