is D so slow?

Unknown W. Brackets unknown at simplemachines.org
Sat Jun 14 12:12:56 PDT 2008


This is a frequently asked question.

What compilers are you comparing?  They have different optimization 
backends.  It could be that the C compiler or compiler flags you are 
using simply perform better than the comparable D compiler and flags.

-[Unknown]


baleog wrote:
> Hello
> I wrote 2 almost identical test programs(matrix multiplication). One on C and another on D. And D prorgram was 15 times slower! 
> Was it my mistake or not?
> Thank you
> 
> p.s. code:
> void test (int n) {  
>   float[] xs = new float[n*n];
>   float[] ys = new float[n*n];
>   for(int i = n-1; i>=0; --i) {
>     xs[i] = 1.0;
>   }
>  for(int i = n-1; i>=0; --i) {
>     ys[i] = 2.0;
>   }
>   float[] zs = new float[n*n];
>   for (int i=0; i<n; ++i) {
>     for (int j=0; j<n; ++j) {
>       float s = 0.0;
>       for (int k=0; k<n; ++k) {
>         s = s + (xs[k + (i*n)] * ys[j + (k*n)]);
>       }
>       zs[j+ (i*n)] =  s;
>     }
>   }
>   delete xs;
>   delete ys;
>   delete zs;
> }
> 


More information about the Digitalmars-d-learn mailing list