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.

Web Framework Benchmarks Round 9

108 pointsby osenerabout 11 years ago

21 comments

idlewanabout 11 years ago
Disclaimer: I&#x27;m the author of Nawak, so I&#x27;m pretty excited about this.<p>The Nimrod programming language is finally featured for the db tests (at least on i7. Not sure what happened with ec2 and peak, as neither jester nor nawak seem to appears in the results).<p>It fares pretty well when the database is involved.<p>Look for the nawak micro-framework, in the top 10 both for fortunes:<p><a href="http://www.techempower.com/benchmarks/#section=data-r9&amp;hw=i7&amp;test=fortune" rel="nofollow">http:&#x2F;&#x2F;www.techempower.com&#x2F;benchmarks&#x2F;#section=data-r9&amp;hw=i7...</a><p>and updates:<p><a href="http://www.techempower.com/benchmarks/#section=data-r9&amp;hw=i7&amp;test=update" rel="nofollow">http:&#x2F;&#x2F;www.techempower.com&#x2F;benchmarks&#x2F;#section=data-r9&amp;hw=i7...</a> )<p>And there is room to grow. That micro-framework will not be the best for the json or plaintext tests, but once the database needs to be involved, it is trivial to add more concurrency: firing up more workers (1-3meg each in RAM) acts as an effective database connection pool (1 database connection per worker).<p>edit: Why should you care? Nawak (<a href="https://github.com/idlewan/nawak" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;idlewan&#x2F;nawak</a>) is a clean micro-framework:<p><pre><code> import nawak_mongrel, strutils get &quot;&#x2F;&quot;: return response(&quot;Hello World!&quot;) get &quot;&#x2F;user&#x2F;@username&#x2F;?&quot;: return response(&quot;Hello $1!&quot; % url_params.username) run() </code></pre> Benchmark implementation in 100 lines here: <a href="https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/nawak/nawak_app.nim" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;TechEmpower&#x2F;FrameworkBenchmarks&#x2F;blob&#x2F;mast...</a>
评论 #7680654 未加载
评论 #7682229 未加载
bhauerabout 11 years ago
We&#x27;re very happy to have Round 9 completed. The 10-gigabit 40-HT core hardware has been quite amusing to work with. In most respects, these servers utterly humble our in-house workstations that we&#x27;ve been using for previous rounds.<p>If anyone has any questions about this round or thoughts for future rounds, please let me know!
评论 #7681913 未加载
eggbrainabout 11 years ago
These web framework tests have been really interesting to look at, and each time I&#x27;ve been saddened to see that Rails&#x2F;Ruby, the framework&#x2F;language I program with most days, is consistently near the bottom. With Adequate Record now being merged into master, I&#x27;m hoping we start climbing the speed test records.<p>But a question that keeps coming up in my mind is that there are metrics that would be much harder to compare, but might be more useful in my book.<p>For example, I&#x27;d love to see a &quot;framework olympics&quot; where different developers build an agreed upon application&#x2F;website on an agreed upon server using their favorite framework. The application has to be of some decent complexity, and using tools that an average developer using the framework might use.<p>In the end, you could compare the complexity of the code, the average page response time, maintainability&#x2F;flexibility, and the time it took to actually develop the app and the results could let developers know what they sacrifice or what they gain by using one framework over the other. I know a lot of these metrics could reflect the developer themselves vs the actual framework, but it might also be a tool to let you know what an average developer, given a weekend, might be able to produce. It would also help me to see an application written a ton of different ways -- so I can make good decisions about what framework to choose based on my needs.<p>In the end, speed only tells us so much -- and speed is not the only metric that we consider when we write applications -- otherwise it looks like most developers would be coding their web apps in Gemini.
评论 #7680939 未加载
评论 #7682597 未加载
评论 #7682388 未加载
评论 #7680855 未加载
nemothekidabout 11 years ago
Interesting to see Go benchmarks fall right out of the top 10 on the 10GbE machines while Java&#x2F;JVM and even Javascript do amazingly well. My guess at 10GbE you are now testing how much the framework spends on the CPU.
评论 #7680982 未加载
评论 #7681025 未加载
评论 #7682087 未加载
评论 #7682482 未加载
评论 #7681156 未加载
评论 #7681310 未加载
RyanZAGabout 11 years ago
Couple notes:<p>They have a blog post about the results here: <a href="http://www.techempower.com/blog/2014/05/01/framework-benchmarks-round-9/" rel="nofollow">http:&#x2F;&#x2F;www.techempower.com&#x2F;blog&#x2F;2014&#x2F;05&#x2F;01&#x2F;framework-benchma...</a><p>If you&#x27;re running on EC2 and not dedicated hardware (probably most people reading this), be sure to toggle to the EC2 results at the top right of the benchmark.
nobulletabout 11 years ago
It is great to see my beloved Ninja framework (fullstack, Java) in standalone mode to be the one of the best performers in multiple queries benchmark (better than 81% of 93 known frameworks) and data updates (better than 77% of 93 known frameworks).<p>These are the most realistic scenarios for the web app in my opinion.
ksecabout 11 years ago
And Ruby on Rails is...... at the bottom of the chart again.<p>It is quite disheartening to see it being 20 - 50x slower on the best. Or 2 - 5x Slower to other similar framework.
manishsharanabout 11 years ago
How is this data useful to someone building a web application? I have used several of these frameworks ,alteast the jvm based ones, and I can tell you that it is like comparing apples to oranges. Case in point, Wicket, which I have been using for several years, is a component oriented framework with a rich ready to use pre-built components. If on the other hand you are using netty, you are left to reinvent pretty much everything . Based on your configuration, it may be that wicket is returning the response from cache. Compojure and wicket serve different business use cases.
评论 #7682097 未加载
评论 #7685132 未加载
ldrndllabout 11 years ago
I was hoping that Snap &amp; Yesod would be run on GHC 7.8. It&#x27;ll be nice to see what sort of improvements MIO will make, especially on the 40 core machine.
评论 #7681040 未加载
评论 #7681023 未加载
评论 #7681892 未加载
jsnkabout 11 years ago
I am surprised that NodeJS on Mysql is much faster than on MongoDB. Is this expected?<p><a href="http://www.techempower.com/benchmarks/#section=data-r9&amp;hw=peak&amp;test=query" rel="nofollow">http:&#x2F;&#x2F;www.techempower.com&#x2F;benchmarks&#x2F;#section=data-r9&amp;hw=pe...</a>
评论 #7682289 未加载
cwufbt08about 11 years ago
There are many frameworks showing as &quot;did not complete&quot;. I was interested to see the results for Spray since it did really well in previous rounds, but there are no results for Spray in the latest round.
评论 #7681379 未加载
rschmittyabout 11 years ago
Could you make the error log accessible? Some of the frameworks appear to just bleed errors left and right. Be interesting to see if they are real errors or just misconfiguration
评论 #7682364 未加载
faizshahabout 11 years ago
Does anyone know why Ur&#x2F;Web has far better performance on EC2 than other platforms?<p>Also can anyone share their experience using cpoll_cppsp?
megaman821about 11 years ago
I would love to so Varnish in here for some of the tests.<p>For a typically webpage with multiple queries there appears to be around 5-10x performance disadvantage between slow and fast languages.Things like serving a plaintext or json response, where the slow languages are much much slower, Varnish is a good match for.
评论 #7681213 未加载
sergiotapiaabout 11 years ago
I may have overlooked it but I cannot find ASP.Net MVC5 there. Is that framework version being tested?
评论 #7681008 未加载
edgarvaldesabout 11 years ago
It&#x27;s disappointing to see Laravel at the bottom, showing 47,135 errors and a 51% succes rate.
评论 #7681207 未加载
评论 #7682141 未加载
itryabout 11 years ago
Nice to see how great PHP is doing. It is still my favorite language.<p>One thing is strange: The HHVM result on the &quot;plaintext&quot; test. How can HHVM only do 938 requests&#x2F;sec if it can do 70,471 in the much more complicated &quot;singly query&quot; test?
评论 #7680956 未加载
bigdubsabout 11 years ago
Still scratching my head at the C#&#x2F;httplistener results. Ostensibly it should be pretty close to what a native C++ implementation should look like performance-wise, as a good chuck of the work on the raw text results is done by http.sys.
评论 #7684862 未加载
necrobritabout 11 years ago
Interesting how the various Scala frameworks have been slipping down the charts from round to round -- an effect of changing methodology?
评论 #7681300 未加载
rcarmoabout 11 years ago
Hmmm. No Python-gevent? Still? Good showing of http-kit, though. Love that lib.
评论 #7681325 未加载
joeblauabout 11 years ago
Wow HHVM on top for Data Updates! Congrats to Facebook!