TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Frameworks Round 6

125 pointsby amarsahinovicalmost 12 years ago

20 comments

columboalmost 12 years ago
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 未加载
dom96almost 12 years ago
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 未加载
bhaueralmost 12 years ago
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 未加载
coolsunglassesalmost 12 years ago
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_watsonalmost 12 years ago
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 未加载
Historiopodealmost 12 years ago
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 未加载
blikeralmost 12 years ago
Honest question: Why are most of the frameworks that I know of in bottom half? When does speed becomes relevant?
评论 #5980544 未加载
deelowealmost 12 years ago
Thanks for continuing to do these. As far as I know, no one else is doing something like this in such a comprehensive way.
neyaalmost 12 years ago
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 未加载
VeejayRampayalmost 12 years ago
For such a young language, I&#x27;m really surprised by the performance of Go there. Quite awesome.
评论 #5980560 未加载
antiheroalmost 12 years ago
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 未加载
rip747almost 12 years ago
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 未加载
elsurudoalmost 12 years ago
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 未加载
clhodappalmost 12 years ago
The play-slick results seem to be missing. Was there some sort of problem?
评论 #5980309 未加载
evabalmost 12 years ago
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 未加载
npallialmost 12 years ago
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 未加载
ditadosalmost 12 years ago
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).
continuationsalmost 12 years ago
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 未加载
camusalmost 12 years ago
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.
cmccabealmost 12 years ago
What about Cobol on COGS?