musialny.dev

musialny.dev

Is really elixir (especially with phoenix) has good throughput? I’m recently seeing a lot of benchmark and “real use cases” benchmarks where elixir is loosing with asp .net, jvm etc.

Showing Posts 1 to 10

BartOtten

BartOtten

Would be nice if you could share links to the places you see those benchmarks. Not saying they are flawed, but have seen too many flawed benchmarks to assume they are correct.

In real case benchmarks it makes most sense to compare whole ‘stacks’ including for example database adapters and caching layer. But then is requires the author to know all stacks good enough to prevent pitfalls.

For most use cases the throughput does not matter that much by the way. The difference between 250k req/s and 80k req/s is 0 when you only need 2k req/s. Most times the throughput of features (development speed) is a more important factor, so is stable memory usage (spikes as costly) and uptime and that’s where Elixir shines without a doubt.

And scalability of course. It’s easier to have one large instance then 10 smaller ones (caching, sessions etc). Not all languages take full benefit of larger instances / more cores)

musialny.dev

musialny.dev OP

dimitarvp

dimitarvp

What are you considering Elixir for?

hst337

hst337

Yes, Elixir and Phoenix have a level of performance suitable for most existing web apps (it is better than Python, Ruby, which dominate web development world) . But performance is not the brightest side of Elixir, and it was never supposed to be like this

musialny.dev

musialny.dev OP

API endpoint and backend core for e commerce

musialny.dev

musialny.dev OP

I don’t expecting best performance, I’m expecting fail protection ( Elixir winning here ) and good throughout ( mainly for HTTP API requests )

hst337

hst337

Elixir is a great fit here, I even have experience in Ad Exchange development. We used Clickhouse, Elixir, pure Plug, RocksDB and bare-metal hosting with prioritized high throughput connection

dimitarvp

dimitarvp

Are you projecting more than 50K requests per second?

If no, Elixir is going to be quite enough and always will be.


Below added for context:

AstonJ

AstonJ

Does anyone even care about those benchmarks anymore? They were a bit of a novelty when they first came out but I think most people pay very little attention to them these days.

What’s more meaningful is real-world usage. From their top ten - is anyone actually using any of them in production? (Which apps?) And if so does their feature set compare to Phoenix - or will you have to add X number of libraries or roll your own to make them even as half as feature-rich? (And how will that impact their performance?)

1 drogon-core 616,607 100.0% 0 Ful C++ Non Non Lin Pg Lin Raw Rea
2 xitca-web 587,955 95.4% 0 Plt rs Non xit Lin Pg Lin Raw Rea
3 drogon 556,046 90.2% 0 Ful C++ Non Non Lin Pg Lin Mcr Rea
4 salvo [pg] 542,547 88.0% 0 Mcr rs rs hyp Lin Pg Lin Raw Rea
5 just-js 538,414 87.3% 0 Plt JS jus Non Lin Pg Lin Raw Rea
6 may-minihttp 520,976 84.5% 0 Mcr rs rs may Lin Pg Lin Raw Rea
7 actix-http 512,422 83.1% 0 Plt rs Non act Lin Pg Lin Raw Rea
8 axum [postgresql] 498,541 80.9% 0 Ful rs rs hyp Lin Pg Lin Raw Rea
9 aspcore-ado-pg 458,677 74.4% 0 Plt C# .NE kes Lin Pg Lin Raw Rea
10 officefloor-sqlclient

WhatsApp, Klarna, Discord, Bleacher Report, Pinterest and many others opt to use a language that runs on the Erlang VM - yet I don’t think I’ve heard of a single user of any of those above.

Ultimately the choice is yours, go with whatever fits best for you and your project.. but base your decision on meaningful criteria/info :023:

BartOtten

BartOtten

Yes, a lot of the frameworks in the benchmark are developed for…this benchmark. For example justJS. So they skip every step not necessary for the tests to complete (validation etc).

And some people tune their favorite framework for maximum performance in the specific test (knowing 10 results are requested, so using a fixed length array…).

In the end it is (or became) more of a game leaderboard. But outside the benchmark game community I highly doubt it is usable.

If somebody has some extra time, enjoy having a look at their Phoenix repo :slight_smile:

Ps. Filter by Full Stack and Full ORM makes a major difference.

Where Next? Top

Trending in Questions Top

katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
peck
Hi everyone. My team and I have been working on a fairly modest app based around video streaming and chat, but we’ve landed a customer t...
New
achenet
Hello, I’m trying to build a basic Phoenix web-app, and I’d like to use Tailwind. However, when I launch mix phx.server, I get an error...
New
bradley
I really like the adapter patterns that ecto, nebulex, waffle, etc. use and would love find something similar for a key management servic...
New
unaware8150
Hello folks! So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New
Alvinkariuki
How Can I Optimise Compile Time Dependencies I have been building an elixir application for about 2 years now. Many modules and files ha...
New

Other Trending Topics Top

budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
budgie
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with. But I don’t use it anymore. Serverless was the promis...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews