Slow performance compared to C++, ideas?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Fri Jun 7 08:58:11 PDT 2013


On 6/7/13 3:42 AM, Walter Bright wrote:
> On 6/6/2013 10:14 PM, Andrei Alexandrescu wrote:
>> I don't buy all that "humans aren't rational" stuff.
>
> I don't either, but I don't think that was my point.
>
> My point is that a language where -O delivers the performance is
> preferable to a language that you have to do careful annotations and run
> extra tools on to get it.
>
> We discussed a while back an experimental Java compiler where
> annotations were used to signify uniqueness, etc. The compiler was a
> technical success, but the researcher was not very successful in getting
> users to use the annotations.
>
> This is why I am pushing for D doing attribute inference as much as
> possible, rather than expecting people to annotate carefully. I believe
> we are much more likely to be successful with the former approach.
>
> I'd very much prefer an auto-finalize mechanical solution.
>
> BTW, dustmite and rdmd are great tools. I'm happy to have been proven
> wrong about them.

The more I think of this the more I regress toward my initial opinion: 
just let it be. I understand the arguments involved and it is my opinion 
that the problem is overstated (it's just a default, not something that 
prevents people from doing what they want to do), the benefits are 
exaggerated (we're not going to see whopping performance improvements), 
and the costs are underplayed (let's not forget that many breaking 
changes look great _before_ the breakage).

We need to think holistically. If improving performance of generated 
code is a goal of ours, then there are so many better, nonbreaking 
vehicles for that: the backend interface, the inliner, the GC, the 
standard library, the SIMD builtins and associated library code, and 
many many more low-hanging fruit of lesser disruption and better returns.


Andrei



More information about the Digitalmars-d mailing list