Walter Bright wrote: > On 4/28/2011 9:19 AM, Daniel Gibson wrote: > >But there's no need for a D compiler to optimize loops that just copy > >parts of an array into another array (and similar stuff), because in D > >you use slices for that - they're (probably) faster and easier to use. > >So IMHO it's fair to use slices where possible. > >(And they're a language feature and not just part of the library) > >Furthermore this particular benchmark is a "programming language > >benchmark" and not a compiler benchmark, so it's fair to use every > >feature of the language. > > > For example, a lot of effort is expended in C and Fortran compilers > "reverse engineering" loops so they can be recompiled and optimized > as vector operations. I don't see ever bothering with this in D > compilers, as D offers a vector notation.
If somebody wants to read the elaborate version of the above: http://drdobbs.com/blogs/229300270 Walter's Dr. Dobb's articles are very good. I only read the new ones posted. But I have to read the older ones if I find some time. BTW In the book "Coder at Work" Fran Allen takes a quite strong position against C. She was deeply into Fortran compilers. She says: "We have seriously regressed, since C developed. C has destroyed our ability to advance the state of the art in automatic optimization, automatic parallelization, automatic mapping of a high-level language to the machine." When I read this some time ago I found that position quite interesting. But unfortunately I cannot tell how valid it is. Walter with all of his experience in developing compilers may give a well informed evaluation on Allen's statement. I'm just curious. Jens