Parallel Rogue-like benchmark

Daniel Davidson nospam at spam.com
Thu Nov 7 06:27:57 PST 2013


On Thursday, 7 November 2013 at 13:12:56 UTC, bearophile wrote:
> Marco Leise:
>
>> I made it idiomatic, D is on place 1 now by a big margin. See 
>> the
>> 'ldc2' entry:
>> http://togototo.wordpress.com/2013/08/23/benchmarks-round-two-parallel-go-rust-d-scala-and-nimrod/
>
> Very nice. I have made a more idiomatic version (in D global 
> constants don't need to be IN_UPPERCASE), I have added few 
> missing immutable annotations, and given the benchmark also 
> counts line numbers, I have made the code a little more compact 
> (particularly the struct definitions, but I have moves the then 
> branch of some if on a new line, increasing the line count to 
> make the code a little more readable, so it's not a unnaturally 
> compact D code):
>
> http://dpaste.dzfl.pl/d37ba995
>
> Bye,
> bearophile


Regarding what is idiomatic D, isn't `immutable x = rnd.next % 
levelSize;` pedantic.
Why not just go with `const x = rnd.next % levelSize;`

Any time the type is a fundamental type with no aliasing there is 
no sharing so the differentiation of immutable vs const is 
unnecessary. Might as well go with const. immutable says I or 
no-one else will change the value. But since no-one else can 
change the value it seems overkill, no?

Thanks
Dan


More information about the Digitalmars-d mailing list