Flame bait: D vs. Rust vs. Go Benchmarking

monarch_dodra monarchdodra at gmail.com
Wed Jul 24 02:43:10 PDT 2013


On Wednesday, 24 July 2013 at 07:20:16 UTC, Peter Alexander wrote:
> This comment is worrying:
>
> "Can you try D version without std.random, and use srand and 
> rand from std.c.stdlib? I think it should be almost same speed 
> as C version ;-)"
>
> "Wow! Just tried that, and this brings the running time of the 
> DMD-compiled version to 0.770s from 1.290, the GDC-compiled 
> version from 1.060 to 0.680s, and the LDC version to 0.580s 
> from 0.710s. Meaning the LDC version is on par with the 
> Clang-compiled C version and just slightly beats the 
> GCC-compiled C one! There really should be a warning note in 
> the std.random library documentation that for 
> performance-critical code the C stdlib random generator is a 
> better choice."
>
>
> Is this just because RNGs are value types? It's literally 
> causing bad press for D, so this needs to be high on the 
> priority list.

The whole of std.random is nothing but problems and pitfalls, 
biting us and our users on a regular basis :/

Designing a new "std.random2" or "std.rand" should be high on our 
todo list. That, and I think "std.random" should go the way of 
"std.xml": A big fat warning telling users it is doomed for 
replacement, and, perhaps, a brief explanation of the problems, 
and their potential workarounds.


More information about the Digitalmars-d mailing list