Techempower Benchmarks

Azareal

Paragon
Joined
Dec 18, 2010
Messages
1,680
Reaction score
353
FP$
4,498
Techempower's benchmarks are a little out of there compared to real traffic patterns, but they're always fun to watch to see who gets ahead almost like a coding equivalent of a sports match.
Techempower in comparison to some other benchmarks are more tuned to web related workloads, so probably more interesting to us than who can walk a binary tree faster.

Some things to keep in mind though, firstly the json benchmarks are broken, I'm not quite sure *why*, but it might be because the fastest json algorithms involve code generation and Techempower doesn't currently take that into account, to my knowledge.

I'm also only going down to #50 with my commentary or we'll have a mountain of images, visit the site to see more details.

https://www.techempower.com/benchmarks/#section=data-r16&hw=ph&test=plaintext
upload_2018-8-26_16-49-38.webp
Plaintext responses per second.

FastHTTP was leading here in the previous quarter, but then Actix came out of nowhere and narrowly beat it, it seems the Rust ecosystem has been busy. And who would have thought that Java would be so fast.

We also see signs of ASP.NET Core entering the Linux ecosystem here.

upload_2018-8-26_16-52-28.webp
If we go down, we can find Python, Ruby and Lua.

Responses per second are cute, but what we really care about are database queries, first updates:
upload_2018-8-26_16-56-12.webp
This time taking the lead is shocking enough... Java.
Is this really the same slow memory hog Java we've all come to know and love? Wow.

The PgSQL adapter for Go wasn't carefully optimised to be the fastest thing on earth like Fasthttp, but it's not too shabby, of course, I'm not surprised to see the usual culprits like C++ and Rust pulling ahead.

I also see signs of... Dart... there?
upload_2018-8-26_17-0-9.webp
And what is that? Is that PHP? It looks like HHVM does fairly well for workloads which are nothing but blasting update queries, sadly it seems PHP support will be discontinued in favour of FB's own language, Hack.
upload_2018-8-26_17-4-20.webp
In this test, a single row is loaded from the database and thrown into a response.

Java, C and C++ pull ahead, although FastHTTP does seem to be doing a fair bit better here.
One I'm surprised to see in the top 25 is Lua, how exciting.

I'm kinda surprised to see so little of Actix after their dramatic appearance in the plaintext section, but it seems the Rust Community haven't tuned their database adapters as well as they did that, but knowing them, I wouldn't be surprised to see them shooting up next quarter.

upload_2018-8-26_17-8-37.webp
Mostly the same languages as with the previous bracket dominating the second section of the single query benchmarks.

upload_2018-8-26_17-10-58.webp
Multiple queries per request which each fetch multiple rows from the database.
Java is still dominating, but I can see Actix somewhat regaining it's glory. Also, I see a new contender, Perl at #7. Fasthttp drops down to #13.

upload_2018-8-26_17-13-39.webp
Dart has once again made an appearance, this is curious since the last I heard of Dart, Google were trying to push it as a JavaScript replacement and failed. Also, if we look down at the bottom, PHP makes a brief appearance, most likely due to it's optimised C stack.

I am very curious how PHP managed to accomplish that, as the stack is usually somewhere at the bottom, very curious. Plus, the numbers are all fairly close to each other.
Perhaps, the database stack is bottlenecking from large numbers of queries? Might be worth investigating.

Edit: Aha, they might have left a PHP process pinned to each process and reverse-proxied through Nginx to each listen for new requests and to immediately fire them off. That would make sense, perhaps they used the experimental event loop pecl extension with it? I dunno.

That was an interesting benchmark, but like always, in the real world, you're unlikely to get workloads and patterns quite like the ones seen in Techempower and far smarter strategies can be employed to make the most out of your platform rather than evening things out for a fair battleground.
 
Last edited:
upload_2018-8-26_18-36-50.webp
PHP5 always seems to beat PHP7, interesting.
See what I mean by not real life workloads?
 
Back
Top Bottom