There should be no surprise that interpreted, dynamic languages are utterly out-gunned as compared to compiled (JIT'd or otherwise) languages. It's inherent to the system - every little thing you do costs more. Many people choose Ruby and figure, given that premature optimization is the root of all evil, they'll optimize later if needed. That's like choosing between a farm tractor or a ferrari - and figuring if the t…
Web Framework Benchmarks Round 4
271–280 of 358 posts
Re: Web Framework Benchmarks Round 4
#272It's very depressing to see Symfony2 at the bottom of these lists. Although there are quite a few performance optimizations that can be done to improve this, there are few excuses for such poor performance by default.
Re: Web Framework Benchmarks Round 4
#273The Haskell Snap Framework has a new http server in the works. It's completely rewritten on a new library called io-streams with performance in mind. Initial benchmark results look promising. http://snapframework.com/blog/2013/03/05/announcing-io-strea...
On the other hand, I'm genuinely surprised the current stable version is not doing any better.
Re: Web Framework Benchmarks Round 4
#274Earlier quoted context omitted.
After seeing this, and having been a long time Sinatra devotee (I thought Sinatra was pretty fast until I saw these benchmarks), I'm considering picking up Go or Lua (OpenResty) at some point in the future. I'm blown away by the speed differences.
Have you ever deployed a Sinatra (or any) project that failed cause it was too slow / could not scale? Avoiding preoptimization applies just as much to frameworks.
Re: Web Framework Benchmarks Round 4
#275Earlier quoted context omitted.
After seeing this, and having been a long time Sinatra devotee (I thought Sinatra was pretty fast until I saw these benchmarks), I'm considering picking up Go or Lua (OpenResty) at some point in the future. I'm blown away by the speed differences.
You'd probably be better of with Scalatra then...
Re: Web Framework Benchmarks Round 4
#276Why I'm still using Play! these results are disappointing once again, atleast beat node.js. Go is looking great though.
I've dabbled a bit with Play, but found it too slow (with Scala). Have a look at Scalatra or, if you don't need a full blown framework, Spray
Re: Web Framework Benchmarks Round 4
#277Whenever I hear "Java" I also get association "slow". But looking into this list - java web frameworks doing incredible job!
Because it is slow. Compared to C/C++/langs without runtimes [albeit with JIT compilation, for long running applications this is becoming a non issue]. Compared to the current crop of dynamic language interpreters, waaaay more engineering time and talent has been poured into optimizing the jvm. People I think forget that Java was a more user friendly C++; the price you paid was somewhat slower apps, but that's OK bec…
Re: Web Framework Benchmarks Round 4
#278Earlier quoted context omitted.
I don't consider the Go size pretty small. Mojolicious[1], Dancer[2] and Kelp[3] have set the bar for small code size for me. Not sure yet if there are smaller ones (note that there are no other files required for those apps, period) In the same vein, Lua's OpenResty[4] looks good, as do Tornado[5], Flask[6] and Bottle[7] (although you need to tease the raw/ORM methods apart to get an idea for the last two). And of c…
>>I don't consider the Go size pretty small. You realize that Go implements the new template test right? Your linked ones do not (at least the ones I spot checked). Also, Go is statically typed = win
hello.go uses more lines defining variables and types than the entirely of many of the alternatives I posted. Obviously they will be a little longer if they implement the fortune handler, but I doubt that will really make much of a difference.
> Also, Go is statically typed = win
I'm not sure what that has to do with implementation size (which is the only thing I was addressing), but feel free to make a case.
Re: Web Framework Benchmarks Round 4
#279Earlier quoted context omitted.
Probably because all those big frameworks have to initialize everything for every request. Parsing, connections, configuration, you name it.
Is there no php environment with a persistent server? Are they really all doing per request startup?
The problem with it is, one request can bring the whole thing down.