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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Frameworks Round 6

125 点作者 amarsahinovic将近 12 年前

20 条评论

columbo将近 12 年前
I&#x27;m really surprised at the performance of C#... honest no-flame question: how is possible it that Python is beating C#? I&#x27;ve been out of the .NET world for several years, almost a decade, but I always assumed they would be at Java level performance.<p>edit add: This is really fantastic work
评论 #5980025 未加载
评论 #5981724 未加载
评论 #5981273 未加载
评论 #5980036 未加载
dom96将近 12 年前
Finally! I was disappointed when this round was postponed.<p>I couldn&#x27;t wait to see how well my framework (Jester; <a href="https://github.com/dom96/jester" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dom96&#x2F;jester</a>) performed, not only because it was my framework but also because it is written in Nimrod. I am a bit disappointed by the results but at least there is a lot of room to improve now, I didn&#x27;t have much time to properly implement concurrency for Jester so I opted for just spawning a couple of processes which is definitely not ideal.<p>I hope that Round 7 will go better for Jester. In the meantime I hope that you will check out the Nimrod programming language (<a href="http://nimrod-code.org" rel="nofollow">http:&#x2F;&#x2F;nimrod-code.org</a>) despite the results that my framework achieved.<p>To the team that carried out these benchmarks, thank you!
评论 #5980614 未加载
bhauer将近 12 年前
Thanks for posting this, amarsahinovic.<p>This is the latest round of our ongoing project to benchmark the performance of fundamental services provided by modern web application frameworks. With the continued contributions of the developer community, the number of frameworks and platforms included is now 74! Round 6 also adds the often-requested plaintext test with HTTP pipelining (thanks in large part to William Glozer of Wrk fame).<p>The results web site also now includes a &quot;framework overhead&quot; tab that allows you to compare a framework versus its underlying platform. This was originally conceived by a Hacker News user named goodwink [1].<p>Like the round before, Round 6 gave us some technical challenges, including a period where we were unable to collect any latency data. Today, some problems persist, such as the Dart test (yes, there is server-side Dart) failing to complete for most of the tests. However, rather than continue to defer Round 6, we&#x27;ve decided it&#x27;s better to move forward and use the round-over-round progression to iterate, fix, and improve. No problem that exists today is set in stone.<p>To that end, as always, I would love to hear any feedback, advice, questions, criticism, and especially contributions. And we hope you find this information helpful!<p>[1] <a href="https://news.ycombinator.com/item?id=5454970" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=5454970</a>
评论 #5979851 未加载
评论 #5980929 未加载
评论 #5980177 未加载
评论 #5983005 未加载
coolsunglasses将近 12 年前
I&#x27;ve followed yogthos&#x27; work on Luminus since the beginning.<p>It doesn&#x27;t merit mention independently of Compojure. It&#x27;s just some sane defaults for pedagogical reasons for getting started writing web apps on top of Compojure. It adds nor removes no runtime or anything else. As it currently exists, it&#x27;s a Leiningen project template generator. That&#x27;s about it.<p>Luminus is isomorphic, for the purposes of a benchmark, with Compojure.<p>I&#x27;m sure yogthos will be flattered when I tell him his web app templating thingy was included though.
评论 #5982419 未加载
mark_l_watson将近 12 年前
Disturbing results since I so frequently have used Sinatra for hosting REST APIs for customer projects. Rethink needed.<p>For my own projects I use Clojure + Compojure and more recently added Node.js (often with Meteor) and was pleased to see that they benchmark well. One thing I especially like about Compojure with the Hiccup HTML generating library is that I see syntax errors immediately in the editor. I suppose that Scalatra with embedded HTML would provide the same benefit.
评论 #5992784 未加载
Historiopode将近 12 年前
Wonderful, thanks for the continuous updates. I hope you will keep gaining momentum around this initiative; having a solid community-supported set of benchmarks which routinely improves would be a true asset.<p>By the way, I would like to offer a UX suggestion: it would be nice if you could select one or more frameworks and have them highlighted in the result listings, so as to be able to notice their relative position at a glance.
评论 #5980323 未加载
bliker将近 12 年前
Honest question: Why are most of the frameworks that I know of in bottom half? When does speed becomes relevant?
评论 #5980544 未加载
deelowe将近 12 年前
Thanks for continuing to do these. As far as I know, no one else is doing something like this in such a comprehensive way.
neya将近 12 年前
An honest confession from someone inspired by these comparisons. I&#x27;ve been following these benchmarks very closely right from round one and ever since I&#x27;ve been waiting to see my favorite framework, Ruby on Rails perform decently to some extent. I waited till the last round to see some improvements and while I DID see some marginal improvements, it wasn&#x27;t as expected.<p>This then provoked me to do some basic math. Imagine a real world startup scenario wherein you need to your application to deliver API responses (JSON) or even ordinary HTTP responses. If you use a framework from the bottom of the list (like Rails), then you may be able to serve, say, &#x27;X&#x27; customers on your site using your application at a time. Now, if you use something from the top of the list, you may be able to serve roughly about 20 times (20X) more number of customers on a single server. This not only means less cost, it also means you can worry about scaling and stuff much much later than you would have to, unlike on a low performant framework.<p>For this reason, I decided to conduct an experiment for myself. Pick up a framework from the top of the benchmarks and experiment with the learning curve and the language. Well, after carefully evaluating, I decided JAVA wasn&#x27;t for me (too much of a beast). But Scala seemed to hit the sweet spot with excellent language (1 line of Scala = 10 lines of Java on an average) features along with the trust of the JVM.[1]<p>So, I chose Scala and started experimenting with it. I started with the play framework and was not fond of certain decisions that were made within the framework. Also, the play framework is nothing like Ruby on Rails (but it claims to be so) and was more of self-serve and also quite heavy for my taste. Hence, I went even farther up the list and chose Scalatra. Generally, framework selection is a matter of personal preference and each one should choose whatever aligns with their philosophy. For me, it was scalatra.<p>Frankly, I haven&#x27;t been able to ship out features at the speed at which I used to, with Rails, but there was something very important that I learnt too - Don&#x27;t get comfortable with full stack frameworks without understanding what goes underneath. Rails suddenly seemed like an enemy to me because it was doing everything so magically that I literally had NO IDEA until I had to implement them myself with Scalatra. For example, do you know what AES-GCM is? Do you know HOW the secure cookie store in Rails works? What algorithm it uses?? Do you know you have to change the secret pretty often??? Do you know how authentication in Rails (Devise) works??? Can you build it from scratch???? I knew none of these, until I had to implement them myself for my application on top of Scalatra. It was seriously a pain because for the first one week, I did absolutely nothing, in terms of progress with features. But later, I started loving this way of development rather than relying on &#x27;magic&#x27; frameworks. Now &#x27;magic&#x27; seems scary for me because I cannot actually see what&#x27;s happening underneath.<p>So, to cut a long story short, Should you choose the fastest framework? Or should you follow the &#x27;ship it first&#x27; policy with an average framework??<p>My advice - Start with a full stack framework, something like Rails or Django, but also in parallel, try to understand how every bit of your framework works and try to implement it into a micro framework based on something from the top of the benchmarks (like Go, Scala, etc.). Most importantly LEARN. Something new everyday! And slowly shift your development towards these high performant frameworks as and when you see fit.<p>This is just based on my experience :)<p>[1] 1 JVM = 10 Thins, Source: <a href="http://www.slideshare.net/pcalcado/from-a-monolithic-ruby-on-rails-app-to-the-jvm" rel="nofollow">http:&#x2F;&#x2F;www.slideshare.net&#x2F;pcalcado&#x2F;from-a-monolithic-ruby-on...</a>
评论 #5980976 未加载
评论 #5981258 未加载
评论 #5987969 未加载
评论 #5989764 未加载
评论 #5981239 未加载
VeejayRampay将近 12 年前
For such a young language, I&#x27;m really surprised by the performance of Go there. Quite awesome.
评论 #5980560 未加载
antihero将近 12 年前
How are certain languages <i>so</i> much faster even when pulling from the database? Surely the database would be the bottleneck here? Surely if it&#x27;s something cool the driver is doing, that could be implemented in other drivers?<p>Also, why are some frameworks on there a bunch of times (e.g. ASP MVC)?
评论 #5981378 未加载
rip747将近 12 年前
i would really like to see how CFML engines (Railo, Adobe ColdFusion) and frameworks (FW&#x2F;1, CFWheels, ColdBox) stack up in this comparison.<p>FD: I contribute to CFWheels
评论 #5980152 未加载
elsurudo将近 12 年前
I would love to see how the Goliath async server (Ruby version of Node.js is one way of looking at it - <a href="http://goliath.io" rel="nofollow">http:&#x2F;&#x2F;goliath.io</a>) performs, as I&#x27;ve recently started looking into it for a part of a project.
评论 #5982986 未加载
clhodapp将近 12 年前
The play-slick results seem to be missing. Was there some sort of problem?
评论 #5980309 未加载
evab将近 12 年前
Can anyone explain why the &quot;gemini&quot; framework with an ORM outperforms raw servlets&#x2F;queries in almost all the cases?<p>What kind of optimizations are done ?
评论 #5984565 未加载
npalli将近 12 年前
Does anyone have more info on &quot;cpoll-cppsp&quot;? Hearing about it for the first time, it seems to be smoking all the other frameworks.
评论 #5980364 未加载
评论 #5980370 未加载
ditados将近 12 年前
i don&#x27;t see any mention of uwsgi or gevent in these benchmarks. Deploying Python apps without properly configuring the container&#x2F;webserver will skew the results considerably (probably applicable to a couple of other entries as well).
continuations将近 12 年前
cpoll-cppsp made huge performance gains from round 5 to 6. For example multiple queries went from 1,872 rps in round 5 to 7,252 in round 6. What caused that?<p>Also what happened to cpoll-cppsp in the plaintext test? Its performance there took a deep dive.
评论 #5981024 未加载
评论 #5981786 未加载
camus将近 12 年前
Nice, Some solutions are quite fast , but as soon as the database needs to perform heavy stuffs , well the perfs decrease dramatically. The really bottleneck seems to be the database in most cases. However ,some frameworks are basically quite slow.
cmccabe将近 12 年前
What about Cobol on COGS?