Live data from Hacker News

Web Framework Benchmarks

techempower.com

51–60 of 116 posts

Re: Web Framework Benchmarks

#51
post #29
post #27

Earlier quoted context omitted.

Do you have any plans to add memory usage to the benchmarks? It adds an extra dimension and sometimes even shows if there's a problem with a specific implementation (e.g. in the benchmark game it's often a hint for a program that can be optimized if the ratio compared to other languages is off).

Yes! In fact, I just responded to a similar question over at the Rust Subreddit thread about the same topic. We do in fact capture dstat data while executing the tests but as of today do not render these in any way. You can find raw CSV output from dstat at our logs server. For example at [1] are stats for Grizzly while measuring the "json" test type. I will create an issue at the project's GitHub repo to begin a con…

That's great. Thanks.

Re: Web Framework Benchmarks

#53

It is really surprising that the same frameworks are much slower running pypy than cpython. I'm assuming all the result are run from cold... Considering that webserver rund for long period of time, it'd be interesting to measure after several runs, and see how the JITted platforms (pypy, java etc...) place in comparison.

Nope, they run a warm up stage.

Re: Web Framework Benchmarks

#54

Earlier quoted context omitted.

> Anything other than C or Java really Rust, C#, and Go also seem to fit the bill, according to these benchmarks. C# particularly has rocketed up since the last time I looked in depth at these. Pretty impressive work from the .NET Core folks, I'd say.

For Rust, I'm interested to see what the future holds once the community coalesces around an async IO interface. Additionally, when procedural macros stabilizes (for real), the possibilities for ergonomic frameworks in Rust become endless. Rocket has been really interesting to work with, but it only works on nightly since it relies on experimental codegen/procedural macro features. Once procedural macros stabilizes,…

Lots of folks seem to be getting drawn to actix-web, which features quite a bit up the top of these benchmarks. I've not used it, but it works on stable, is fully async, and has been met with many good reviews!

Re: Web Framework Benchmarks

#55

Just a reminder if speed was the only thing that mattered we all would be using assembly now.

Im with you, although we will see if animations can hide loading times.

Btw, you will always have people that disagree with you. I get crap about the loading time of my website, but since I changed to a massive beautiful change, my conversion doubled overnight.

I think a human can decide for themselves if something takes too long. I ran into this issue and optimized, but I wouldnt be chasing benchmarks.

Re: Web Framework Benchmarks

#56

It is really surprising that the same frameworks are much slower running pypy than cpython. I'm assuming all the result are run from cold... Considering that webserver rund for long period of time, it'd be interesting to measure after several runs, and see how the JITted platforms (pypy, java etc...) place in comparison.

Nope, they run a warm up stage.

Thanks, I browsed quickly through the explanations and didn't see that.

That explains why java frameworks are doing so well but raises questions about pypy!

EDIT: Looking closer, tornado is faster running pypy.

Re: Web Framework Benchmarks

#57
This is the first time the PHP extension swoole (an async library) was on the test. It took #10 place on the JSON serialization test. The remainder of the tests rank terribly because the implementation incorrectly uses synchronous DB calls, but once that's fixed it should be very promising.

Re: Web Framework Benchmarks

#58
post #36
post #15

These are fun benchmarks, but every single framework in the top 250 or so is more than fast enough for most apps. Even the slowest in the list manages 366/requests per second, which is probably enough to prove an idea before optimizing for speed. We're approaching the point where speed is essentially a solved problem unless you're at Google-scale.

I agree with the overall sentiment. Plus almost all cases I run into performance issues with e.g. Python in general web development, that main problems were how the code was written, not what it was written in and being bottle-necked by the database. That said I disagree a bit with saying it is a a solved problem unless you are Google-scale. In developing countries if you are in a small company without big investors,…

Im somewhat traditional with my web, javascript and php.

But are people really doing python and web development?

I love python for my web crawlers, photoshop automation, and table formatting automation- But I never considered it a web contender.

Any major sites running python? Whats the popular way people are doing it?

Re: Web Framework Benchmarks

#59

Earlier quoted context omitted.

For Rust, I'm interested to see what the future holds once the community coalesces around an async IO interface. Additionally, when procedural macros stabilizes (for real), the possibilities for ergonomic frameworks in Rust become endless. Rocket has been really interesting to work with, but it only works on nightly since it relies on experimental codegen/procedural macro features. Once procedural macros stabilizes,…

Speaking of which, a few hours ago Futures were added to the standard library, so the next nightly will have them in. We're quite close to that standardization!

Big news!

Re: Web Framework Benchmarks

#60
post #45
post #38

Earlier quoted context omitted.

Most companies that sell embedded hardware managed remotely by Web interfaces.

Honest question: What sort of embedded hardware deals with millions of requests a second? I wouldn't have thought that kind of utility was the same domain as "embedded" (in the stricter sense of the term). Granted you could expand the term to cover hardware load balancers and the sort, but those wouldn't really be running websites so much as routing and caching them. Aside from that, you have management interfaces fo…

It is not millions of requests a second, rather what you can put into something with 512 KB or less while providing a minimal Web management interface.

For example,

https://www.hcc-embedded.com/embedded-systems-software-produ...

Post reply on HN