Simple command-line app that recursively walks a directory (provided as argument) and computes the md5 hash of each file. Just to get a feel for nim and its concurrency story.
Running this on an Intel Chromebook on the Nimrod/lib source directory gives this:
real 0m0.457s user 0m0.816s sys 0m0.035s
A similar implementation in Go gives this (that arguably does more, as it checks for errors):
real 0m0.061s user 0m0.050s sys 0m0.011s
Running on the whole nim repo (C sources included) yields those results:
real 0m35.995s user 1m1.480s sys 0m4.163s
real 0m5.315s user 0m2.188s sys 0m5.873s
Of course I probably got a ton of things wrong in nim as this is my first go at it. As I understand it, nim's
threadpool library uses OS threads instead of "green"/lightweight m:n threads, so that may explain part of it.