I wanted to do a performance comparison between Facil(a web framework for C) against some more conventional tools, such as Flask(Gunicorn server) a...
For further actions, you may consider blocking this person and/or reporting abuse
Except that:
For example hosting Ruby is definitely more expensive than most other languages, it still does not matter at all in the grand scheme of things
==> m.signalvnoise.com/only-15-of-the-...
Of course, I never intended this to be a be all end all benchmark(as I said in the final notes, it is rather simplistic), I just figured these results might be of some interest to other people.
Those are interesting points, especially about the costs of hosting with Ruby. Thanks for reading!
Fair enough.
I think benchmarks should be used by library and framework authors to improve their software.
As app developers, we should mostly care only about how good the API & documentation & community is.
There are also hobby projects where all those things dont matter much ;)
How do you manage to have heavy loads for your hobby projects, impressive π?
Hobby projects dont have heavy loads, i would say ;) They are just about having fun.
This is an intersting benchmark, although why did you limit the compiled solutions to only C?
I'd be very curious to see higher level compiled languages in these charts, like Rust and Haskell. They would give you the performance of C, but language features of languages such ash Python, thus reducing the pain associated with C programs.
That's a great idea for a next post - thanks for reading! :)
Agreed. I'd be particularly interested in facil vs rust, as they are more comparable (i.e. produce gc free, optimized binaries).
I love these graphics.
Thanks! The individual frames were made using matplotlib, then I generated the gifs using gifski(gif.ski/)
Very interesting post!. π
Nim lang is missing here, write as easy as Python, run fast as C.
Thanks for reading! :D Haven't used Nim lang before, but looking at some benchmarks it looks like a neat language
This comparison would be interesting to run again against; Netty and FastHTTP, these are known to be among the top performers.
github.com/valyala/fasthttp
netty.io
Great suggestion, I'll have to make some more in-depth benchmarks and give these frameworks a go. Thanks for reading!
Great article, it might be interesting to add other options that claim to be as performant as C but more friendlier and closer to dynamic languages (like javascript and python)
In that sense, I think a comparison with Crystal language would be great.
Great suggestion, thanks!
I've also heard a similar story from discord where they switched from Go to Rust for a specific service
blog.discord.com/why-discord-is-sw...
garbage collection seems to be a problem for high load applications as it causes spikes
Thats an interesting article, thanks!
You should add Rust to the comparison
I'll have to do a more detailed benchmark with all the new languages suggested - thanks for reading!
I'd love to see some comparison with Go as a web server. I've been pondering how it would operate vs Python FastApi
Thanks for the suggestion!
Worth it? Yes. But not on a bigger perspective. A C/C++ developer is expensive.
Hey Bence, very interesting article! I was wondering what tools have you used for benchmarking. Can you help me with that ?
Hey Lakhara, thanks for reading! I used ApacheBench to create the load and measure the latency, and used top in batch mode to measure the CPU and RAM%.
Now the question is... What do you consider pain?
I think for your benchmark to get a bit closer to a real world example, it would need a database call at the very least. When it comes to webapps, this is usually the bottleneck - not the application.
Great suggestion, thanks!