21 comments

[ 2.6 ms ] story [ 60.8 ms ] thread
For Rust, this benchmark tests Nickel, Iron, and Rocket; all of which are synchronous. Async really helps here!
Why? I looked at the code, it doesn't really do anything with the request, shouldn't be blocking any threads or anything.
It's not in the program itself, it's in the frameworks. That is, the way the frameworks handle the HTTP requests uses blocking IO.

There are other frameworks that are non-blocking; they just didn't include them. To be fair, Iron and Nickel are the old guard of frameworks, and Rocket is one of the new, hyped ones, but they don't use any async stuff. This isn't so much blaming the benchmark as it is adding context!

What is crystal? And where are Java & C++? Also, who the hell writes web frameworks in Objective-C?

Also... does anyone notice that this test shows that the web framework hosted under the same github account is the fastest.

edit: re: "What is crystal?"

https://github.com/crystal-lang/crystal ... I will say, I'm intrigued. I do love ruby, but unfortunately also hate dynamic typing. Crystal seems interesting.

> Also... does anyone notice that this test shows that the web framework hosted under the same github account is the fastest.

That does seem suspicious. On the other hand, that's precisely the party that would have the most incentive to publicize the results of the tests...

I'm looking at the contributors in crystal-lang/crystal and I don't see "tbrand" there. That said, the repositories they do create seem predominantly crystal related, so they're certainly a user of it.
Is the term "framework" really the best descriptor for this type of chunks of code?
How important is speed really? It's not like it's the only parameter you can measure a framework by, just happens to be the only quantifiable one.
It's not even really that quantifiable, since a framework can be faster at some tests and slower at others.
I agree, especially thinking of rails
I think PHP is still the most popular web app language, a shame it’s missing out having a couple of it’s frameworks included in the test.
Can already guess they'll be at the bottom. Laravel, Symfony are pretty dang slow as frameworks.
This is measuring startup time, not actual request time. This seems nearly worthless unless you are looking to host something on AWS Lambda? Does the author honestly believe GET requests to rails sites take 2 and a half minutes on average?
The client is sending 5000 requests * 16 threads from what I can see. Still seems like a useless microbenchmark.
I understand wanting to show off your latest project, but comparing a large framework like Rails to your couple hundred lines of crystal is not an honest comparison, not even taking into account the concerns of startup time as others mentioned.