@def has written Nim code for most of the benchmarks in The Computer Language Benchmarks Game
Is it worth everyone checking to see if the code can be improved, and then submitting this to the site for addition to the benchmarks?
It is yet another way to "advertise" the language.
Hey jlp765,
I noticed that the benchmarks game website actually has a page somewhere explaining that they are not going to add Crystal, Nim and other new and upcoming languages ("so please stop asking" they say). The suggestion from the creator is that you make your own website for those languages, separate to the benchmarks game. I can't find the link at the moment, but I think it is basically due to wanting to keep it to the most commonly used languages.
But I agree, Nim needs a way to make itself known, but I think that probably requires a few things first judging by some of the reactions that pop up on reddit/hackernews/ycombinator:
Anyway, my thoughts looking in as a relative newcomer and seeing performance benchmarks probably aren't the biggest stumbling blocks that Nim faces in trying to grow in popularity.
forget standard lib, forget 3rd party (popular or not) packages and documentation. Think compiler only. Because they all would need to change if you keep changing core language features, like deprecating/removing methods or throwing away GC (page 7 on Community Survey ) or something...
I was a bit annoyed that they ban certain languages from their "game", so I started to collect my own set of silly benchmarks (plus a framework to make defining, running, and visualizing benchmarks easy):
https://bluenote10.github.io/SimpleLanguageBenchmarks/
The goal was to have a different focus by benchmarking simple/idiomatic implementations, e.g. to find out what performance I can expect from standard libraries in different languages. The Benchmark Game mainly compares what you can achieve over years of optimization => not the performance you get when you start out in a language. Unfortunately, I didn't get too far with the project, but Nim already looks really good ;). If anyone is interested in adding more benchmarks/implementation we could just run our ban-free benchmark suite.
they ban certain languages
"They" don't ban certain languages.
In contrast to the benchmarksgame no languages are forbidden per-se.
There are no languages forbidden per-se.
Your project includes far-fewer programming languages than the benchmarks game.
You must have banned even more languages!
Or is it just too much work?
So, building on the 40% or so of the benchmarks def did, I rounded out the other 60% and gave a PR to his repo. With more like hours than years of my time per program profiling/tweaking/optimizing, I got the Nim implementations to mostly parity with the top performers (Nim was in the top 3..6 impls on my machine for almost all tests). Of course, I did start most of those impls from "for years tweaked impls".
Anyway, shortly after I finished that work, I also saw the annoying comment on Alioth about "No more languages! Do your own website", but I was lazy and did not. :-( Kudos to you, bluenote for doing something. :-) Looks pretty nice.