Haskell is still losing to Ohkami and Micro-http, but it’s impressive that Scotty is outperforming or at least keeping up with some of the most commonly used Rust servers.
That said, in theory, Haskell should be able to do at least 50% of the best Rust servers, while keeping a clear and concise syntax and maintaining better type safety.
i really would like to know the methodology, or maybe i am mistaken about what is being benchmarked. how can so many javascript implementations be outperforming c++, rust and pure c?
Looking at the Servant implementation, you can see that the handlers are effectively trivial, so this benchmark is measuring the overhead of the web framework routing mostly.
Actually, this seems strange because I recall they used to have Scotty / Warp / Servant etc in their archives, but I can’t seem to find it, it’s just Postgrest, Wizzardo-inline, and IHP these days.
I haven’t looked at this specific benchmark closely, but I wouldn’t put too much stock in benchmarks like these. This post about Servant’s performance in the TechEmpower benchmarks covers some of the problems: