Live data from Hacker News

Web Framework Benchmarks

techempower.com

301–310 of 415 posts

Re: Web Framework Benchmarks

#301

Where is ASP.Net MVC? Odd that you list obscure frameworks like Wicket and leave out one of The Big Four frameworks. (The big four in my book are: ASP.Net MVC, Rails, Django and CakePHP)

If you can cover ASP.Net MVC, then I'd recommend including ServiceStack. My own tests of their JSON implementation have shown it to be 5-10x faster than ASP.net MVC.

Drop me a line if you need a hand with either :)

Re: Web Framework Benchmarks

#302
Some of the choices are unfair in an apples/oranges sort of way: They are testing Rails and Sinatra against Java servlets, but the Ruby equivalent of servlets is not a high-level framework like Rails, but Rack. (Also, the Ruby tests use Passenger, which is probably not a great choice for performance.)

Re: Web Framework Benchmarks

#303
Would've loved to see http://servicestack.net on this list which has great performance on .NET and Mono: https://github.com/ServiceStack/ServiceStack/wiki/Real-world...

And also maintains .NET's fastest JSON and Text Serializers: http://theburningmonk.com/2011/11/performance-test-json-seri...

Re: Web Framework Benchmarks

#304
post #33

I Will love to see dotNet (C#) incluid in this test. Asp.Net WebAPI (Synchronous and Asycnhrounous) Asp.Net MVC (Synchronous and Asycnhrounous) Asp.Net HTTP Handlers (Synchronous and Asycnhrounous)

Here's a fairly recent end-to-end ServiceStack vs WebApi benchmark: https://twitter.com/anilmujagic/status/272544925478973440

    ServiceStack      9615ms
    WebApi           30607ms
GitHub project for benchmarks used: https://github.com/anilmujagic/ServiceBenchmark

Re: Web Framework Benchmarks

#305
post #171

Earlier quoted context omitted.

What's wrong with that guy?

He's a fantastic software engineer but he is _very_ abrasive. I've read some of his posts claiming he would fight some other developer in person at a conference if he steps up. He would rent out a ring and he would put his yellow belt to practice. Really, I'm not making this up. He sounds like a jerk to work with.

He's actually a really nice person. He helped me out (to him I was just some stranger on the phone) when I was trying to decide what to do with my career when I was in NYC.

Zed Shaw is probably one the best people you can know in the developer community, a very good guy.

Your sensationalism based on some of the stuff he says on Twitter and Blogs is amusing though.

Re: Web Framework Benchmarks

#306
post #4
post #2

I worked with Pat (pfalls) on this effort. He pulled the benchmarks together and built the script to automate the tests. We aimed to deploy each framework/platform according to best-practices for a production environment and then stress test common operations: JSON serialization of objects and database connectivity. We were surprised by the wide spectrum of performance we observed and hope that this interesting to yo…

I'd be interested to see performance for Vert.x on its other hosts (this is the JVM version, I believe).

I think you may misunderstand Vert.x's polyglot features:

While vert.x supports many programming languages, all of these are run on the JVM runtime. This means when you use the ruby vert.x API, you're using JRuby; likewise with Javascript run through Rhino, Python through Jython, and Groovy/Scala run through their own interpreter/compilers.

That said, it would definitely be interesting to see the performance implications of using one of those languages and vert.x on the JVM.

Re: Web Framework Benchmarks

#307
You guys should feel bad about generating such awful benchmarks.

How the hell can you compare accessing a MySQL database to accessing a MongoDB database?

Its like comparing apples to piles of poop.

Also when you're testing things like Django in web requests, you're testing gunicorn, not Django.

Re: Web Framework Benchmarks

#309
post #240
post #167

Earlier quoted context omitted.

We used Phusion Passenger, although we have plans to add additional servers (such as Unicorn). We tried to spend time with various server choices for all platforms, and for ruby, in our short test, Passenger won out against the others. Our understanding is that when running Passenger, simply passing '-e production' to the command line is sufficient to run in production, but if that's incorrect, we'll gladly update th…

Please make sure you're setting higher GC limits for the Ruby tests. Ruby's defaults are awful for a framework, and result in a LOT of GC thrash. It's not uncommon to see an order of magnitude improvement in performance when they're tuned properly. (edit: I'll just send a pull request, I found the setup file!) Something else you might consider is the OJ gem rather than just the stock Ruby json gem. The latter is noto…

> make sure you're setting higher GC limits for the Ruby tests

Could you elaborate on this, or point me in the right direction? I'm learning Rails and curious.

Re: Web Framework Benchmarks

#310
post #131

Earlier quoted context omitted.

How is it broken?

How is it broken? All data is returned as an associative array, so there is no way to call something like: $cows = $this->Cows->findByStatus(COW_STATUS_NOT_MOOING); foreach($cows as $cow) { $cow->moo(); } But that's pretty minor. The big issue is: all data is returned as an associate array ! There is no lazy-loading of the data as you e.g. seek through it, which means it's very easy for people to pass around huge arr…

I don't use Cake, so don't read this is a defence of Cake.

Lazy loading seems to me a kludge trying to fix poor SQL querying. If you can filter at the app layer, why not pass the information down and filter at the DB layer? You'll be transferring less data and may even read less data from disk (with proper indexes)

Post reply on HN