On Wednesday, 28 August 2013 at 18:30:11 UTC, H. S. Teoh wrote:
As for overheads, I wonder if, given enough experience over time, we can one day identify common patterns that the compiler can take advantage of and optimize into more efficient code. For example, if the compiler recognizes a linear composition of range-based components, it could transform them into optimized nested loops that eliminate some of the overhead involved. I'm not sure how feasible this is with the current DMD implementation, though. But it's certainly something to keep in mind
for the future.


Thanks for your comments. I was thinking the same thing, i.e. that maybe future implementations of the compiler can optimize the overhead away. If CP is THE major thing in D (and it makes perfect sense that it is), then the compiler (and syntax) will adapt to it over time, I guess (and hope).

I'll try to introduce CP/Ranges where ever it makes sense from now on. It was unbelievable how well the code worked once I could free myself from the loop. And I can take the components and use them "as is" in a separate program I use to add entries to the lexicon source files. I'm only wondering how to integrate the new pattern properly into an otherwise OO framwork. I seriously wonder whether CP/Ranges will make OO obsolete. After all, structs are "classy".

Reply via email to