is D so slow?

baleog maccarka at yahoo.com
Sat Jun 14 13:47:04 PDT 2008


Unknown W. Brackets Wrote:
> What compilers are you comparing?  

gcc-4.0 with last releases of the gdc and dmd-2 

> They have different optimization

but gdc uses gcc backend and the test programs (C and D) differs by the couple of bytes..
i used std.gc.disable() too - nothing changed

> 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