Functional vs simple code
Timon Gehr
timon.gehr at gmx.ch
Tue Oct 2 15:13:22 PDT 2012
On 10/03/2012 12:11 AM, Timon Gehr wrote:
> ...
>
> $ cat ixidbench.d
> module main;
> import std.stdio, std.algorithm, std.range, std.datetime;
>
> enum MAX = 10_000_000_000UL;
>
> void main() {
> StopWatch sw;
> sw.start;
>
> auto sum1 = MAX.iota.map!(x => x * x).reduce!"a + b";
>
> sw.stop;
> sw.peek.msecs.writeln("msecs");
> sum1.writeln;
> sw.reset;
> sw.start;
>
> ulong sum2 = 0;
> foreach(i;0..MAX)
> sum2 += i * i;
>
> sw.stop;
> sw.peek.msecs.writeln("msecs");
>
> sum2.writeln;
> }
> $ ldmd2 -O -release -inline ixidbench.d -ofixidbench
> $ ./ixidbench
> 6528msecs
> 7032546979563742720
> 7518msecs
> 7032546979563742720
$ gdmd -O -release -inline ixidbench.d -ofixidbench
$ ./ixidbench
11250msecs
7032546979563742720
11233msecs
7032546979563742720
More information about the Digitalmars-d-learn
mailing list