math.log() benchmark of first 1 billion int using std.parallelism
    aldanor via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Mon Dec 22 03:11:06 PST 2014
    
    
  
On Monday, 22 December 2014 at 10:40:45 UTC, Daniel Kozak wrote:
> On Monday, 22 December 2014 at 10:35:52 UTC, Daniel Kozak via 
> Digitalmars-d-learn wrote:
>>
>>> I run Arch Linux on my PC. I compiled D programs using 
>>> dmd-2.066 and used no compile arguments (dmd prog.d)
>>
>> You should try use some arguments -O -release -inline 
>> -noboundscheck
>> and maybe try use gdc or ldc should help with performance
>>
>> can you post your code in all languages somewhere? I like to 
>> try it on
>> my machine :)
>
> Btw. try use C log function, maybe it would be faster:
>
> import core.stdc.math;
Just tried it out myself (E5 Xeon / Linux):
D version: 19.64 sec (avg 3 runs)
     import core.stdc.math;
     void main() {
         double s = 0;
         foreach (i; 1 .. 1_000_000_000)
             s += log(i);
     }
     // build flags: -O -release
C version: 19.80 sec (avg 3 runs)
     #include <math.h>
     int main() {
         double s = 0;
         long i;
         for (i = 1; i < 1000000000; i++)
             s += log(i);
         return 0;
     }
     // build flags: -O3 -lm
    
    
More information about the Digitalmars-d-learn
mailing list