Jason House Wrote:

> Craig Black Wrote:
> 
> > > One more thing - to clarify, Craig, are you implying that it's acceptable 
> > > for performance to be within 20%? If not, there are tweaks on the 
> > > algorithmic side we can do to improve sorting.
> > 
> > 20% slower would be acceptable if I didn't have to do my own inlining. 
> > Closing the gap even more would be nice.  Twice as slow is not acceptable.
> > 
> > -Craig 
> 
> I wish I had your problems. I ported a sizable set of C++ code to D2 and 
> discovered D2 with dmd was 50x slower than C++ with gcc! I've been to 
> busy/disappointed to track down the bug(s) causing such a slowdown. If anyone 
> is sufficiently inspired to find the bugs, I can make the GPL source code 
> available.

I should add that I strongly suspect failure to inline as a cause. The C++ code 
has lots of mini functions returning compile-time constants. I know that the 
C++ code started out as low level code aimed at maximum performance and then 
gradually got cleaned up. Any cleanup that confused gcc's optimizer was 
rejected/reworked. The code may be closely tied to gcc's optimization/inlining, 
but dmd should come close. 20% slower would be acceptable.

Reply via email to