JuanjoA

JuanjoA

Benchmark report the-benchmarker and phoenix

Hi, what do you think of phoenix’s position in these tests? (link)
I see many frameworks above in the list and I understant that it is not only the performance that is important but just to know what You think, which I’m sure you are objetive as I’m appreciating in other forum threads.

Thanks :slight_smile:

Most Liked

dimitarvp

dimitarvp

I’ll be the sour grape, hold tight. :003:

Most benchmarks, especially those of web frameworks, are deeply flawed. It’s a game of numbers, and when ranks and numbers are involved, people are bound to try and cheat their way to the top ranks. The most popular benchmark – TechEmpower – is widely known to not enforce good benchmark discipline in the accepted code so instead of having proper HTTP servers you have plain text processors that accept hard-coded HTTP headers (one of the egregious examples).

This has skewed results significantly to the point that many developers only take a cursory glance at such benchmarks and leave almost immediately.

Is this benchmark framework better? Maybe it is, but who is going to use their work time (and their employer does not pay them to go research if a benchmark framework is good) or their free time in order to establish this? Not saying that nobody will do it – pretty sure somebody will. But it might be too much effort just to uncover yet another benchmark framework that lets people cheat their way to the top ranks. :102:

al2o3cr

al2o3cr

IMO this benchmark is entirely unrealistic; the top performers are doing exactly what’s required, but leaving off 95% of what most applications would actually need. For instance, take a look at the “top performer” ActiveJ’s approach:

https://github.com/the-benchmarker/web-frameworks/blob/332e59bc6e416f5b7002b5dea5511cad05910ba8/java/activej/src/main/java/benchmark/io/activej/http/Main.java#L28-L31

Unless I’m missing some magic in RoutingServlet, this responds to requests with the ABSOLUTE MINIMUM required to satisfy the requirements; HTTP/1.1 200 OK with no headers at all, then either EOF or a few bytes of content (for the /user/:id route).

The Phoenix benchmark, OTOH, sends more headers and does more work.

AstonJ

AstonJ

That’s what I just did :lol:

We definitely need better benchmarks though…

A proper benchmarking system (like the one I have in mind) could be a huge win for Elixir/Erlang :003:

Where Next?

Popular in Discussions Top

AstonJ
Please see the new poll here: Which code editor or IDE do you use? (Poll) (2022 Edition) It’s been a while since we first asked this, I...
208 31695 143
New
restack_oslo
Hello, Please pardon me for any faux paux. I am 46 and this is my first time on a forum of any kind. I wanted to to get answers from tho...
New
chulkilee
Here are the list of HTTP client libraries/wrappers, and some thoughts on HTTP client in general. I’d like to hear from others how they w...
New
nburkley
AWS re:Invent is on at the moment with some interesting announcements. One new feature in particular is the Lambda Runtime API for AWS La...
New
chuck
Let me start by stating an assumption: Phoenix is a great approach to building REST APIs. There are many reasons for this, but I will ass...
New
Nvim
Anybody knows a comprehensive comparison of Django and Phoenix, thanks for the help. Where are they similar? Where do they differ the m...
New
klo
Got a question about when to concat vs. prepending items to list then reversing to achieve appending. So i know lists boil down to [1 | ...
New

Other popular topics Top

nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 54006 488
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 31494 112
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New

We're in Beta

About us Mission Statement