Nim has been included, represented by nawak and jester.
The testing methods and results are somewhat complicated, so please take time to figure everything out before commenting.
I hope this will thread will spur discussion on what can be done to improve Nim's ranking moving forward.
(EDIT: removed "Round 10" from the title, so we can keep this thread going now that nawak is starting to make a bit of progress for Round 13...)
Someone else brought this up on Reddit:
http://www.reddit.com/r/nim/comments/381nqi/ask_rnim_as_a_nim_newcomer_can_anybody_provide/
BUMP for Round 11... http://TechEmpower.com/benchmarks
"Three new languages are represented in Round 11: Crystal, D, and Rust", the blog says.
Some data appears to be missing in the results viewer, including all hw=i7.
For hw=EC2, Nim only appears for type=JSON, with Jester scoring 13.6% of the top C++ framework's performance being 100%. (Other observations from that data set: Crystal's at 55.4%, ahead of most Go results, but just below LuaJIT and even Ruby inside Nginx. Some functional language frameworks show promise here: Haskell/Wai tops out at 98.3%, Ur/Web at 96.1%, and Scala at 95.2%.)
For hw=Peak, again Nim only appears for type=JSON, where Jester "did not complete"...
Round 13 preview link -TechEmpower.com/benchmarks/previews/round13
Go fasthttp + PostgreSQL wins the Internets... (Especially if you exclude unsafe C/C++ and restrictively licensed Java contenders.)
But Nim nowak is starting to become a somewhat serious undercard contender in some of the tests! :D
But nothing in nawak github repo has been updated in 2 years... :(
I'm still too much of a Nim-n00b to help with this, but I think performing better in respected third party benchmarks like this one will bring a lot more attention to Nim. Hope somebody will help make Nim the king! ;)
Bump for Round 14, just in case it gives anyone some ideas...
Nim web frameworks are still MIA... :? :x
Random thought: h2o [src] seems to be an emerging C web server / framework library champion. It looks like someone started a Nim wrapper for libh2o 3 years ago... Would anyone (far more competent than myself) be interested in reviving this idea to create a Nim web framework performance champ for winning these benchmarks? :!:
Well, the first improvement that comes to mind is actually getting the Jester test working.
huh? it does work.
You find my "suggestions" ridiculous? It's sad to hear that from a central figure in our Nim community. It's sad to see that attitude. And quite different it seems to me than @Araq's always positive and constructive attitude; when someone recently really criticized Nim Araq actually asked for details and reasons. He is a smart man and I have good reasons to value him highly.
The reason I called your suggestions ridiculous is because they are provably false, and it makes me sad that you are spreading such false notions. What I am referring to is your idea that Nim's results are slower than PHP, Ruby, Python and other interpreted languages. That's what I find ridiculous, because it plainly isn't true.
because they are provably false
So is yours :p
Nim is #1 on JSON and #14 on Plaintext.
httpbeast isn't #14, it's #10
Whoa. That's a bit unfair, don't you think? My replies are certainly more direct than usual, but they are in no way mocking or derogatory.
Nooooo, calling someones statements "ridiculous" isn't "mocking or derogatory" ...
Back to the matter:
Would you recommend httpbeast (or jester, or ...) for production use? If I remember correctly you strongly advise to run jester (if at all) behind a proxy server in production.
I agree that Nim has come far and it's pleasing to see that there is the potential for Nim servers play in the top league. Kudos. But I also see that we shouldn't compare proof of concept code with well established solutions. Also serving plaintext json isn't exactly the yardstick to be interested in. But again, to show Nims potential that may be O.K.
With my Python and PHP (which are in extreme wide use) remarks I was too harsh. I apologize. But JVM language based solutions that are faster than our best current stuff indicate that I'm not totally off track.
httpbeast isn't #14, it's #10
I think we are looking at different techempower results. Please link to what you're looking at, and keep in mind that it might not be the most recent run or the most reliable.
Would you recommend httpbeast (or jester, or ...) for production use? If I remember correctly you strongly advise to run jester (if at all) behind a proxy server in production.
I would. Yeah, I still advise to run Jester behind Nginx. But I would advise that for every web service, whether it's written in Golang, C, Rust, PHP, or whatever.
As far as production readiness is concerned, this forum is running on Jester with HttpBeast. It has been running for pretty much a year now with no problems.
But JVM language based solutions that are faster than our best current stuff indicate that I'm not totally off track.
JVM has many millions of dollars/pounds/euro behind it.
Seems like there was a misunderstanding here.
Note that there are different iterations of the tests, and we are talking about the ones published as "round 17".
Also note that there are 12 result tab combinations: 6 tests times 2 test environments. Nim participated in four of the twelve results (with its fastest framework coming in #1, #20, #10, and #14), and Nim didn't participate in eight of the results.
Nim hasn't yet submitted code for most of the tests on TechEmpower. I keep this thread active to encourage more qualified people than myself to look into this.
My post had emphasized the good news, because it was indeed a big achievement. I'm sorry if that was the cause of the confusion.
I think good Web benchmarks results are very important for Nim's popularity advancement. Every major business has a Web-site, and internal apps that are increasingly Web-based. Many users of scripting languages start considering a statically-typed compiled language when they realize their current code doesn't scale, and Nim should be an especially good candidate for people coming from Python.
the memory is the same for all
The total memory is the same for all frameworks: 32g in the "physical" test environment (Dell R440) and 14g in "cloud" test environment (Azure D3v2).
But different tests used a different amount of memory. Which IMHO an important thing to measure. That's why I
Let's say I have a Web service that needs fairly little storage, bandwidth, and CPU; and it has the same memory requirements for decent performance as the memory usage in TechEmpower's "Plain Text" test on Azure. If I use a memory framework that used <2GB RAM (ex. go fasthttp), I only need $7/month for VPS hosting. But if I use a memory-hungry framework (ex. java comsat-servlet-undertow), I would pay $28/month for the extra RAM. Very big difference!
lots of mem can only somewhat minimize java's disadvantage.
That's exactly my point. Lots of RAM hides the fact that Java would be slower on a cheaper server / cloud instance.
I love Nim and consider it to be the (almost) perfect language (that just needs a bit more growing up and mature).
Amen.
In other news, a less popular anecdote I mentioned here (tbrand/which_is_the_fastest now redirects to the-benchmarker/web-frameworks) has been updated, and it seems Nim there is out of tune. It has two results:
Rust is also close to winning "JSON serialization" (99.1% of the winner).
So... not the "absolute dominant champion in every category..." then, this was my point and I did look at your "now" link.
Nim really isn't that far behind. I don't have time, nor the will to optimise httpbeast even further, for me these results are satisfactory, but I'd encourage anyone that's interested in this to help out.