
Thorsten Ottosen wrote:
Den 02-02-2012 03:00, Dave Abrahams skrev:
We're explicitly interested in what happens to efficiency when algorithms are /implemented/ using range primitives rather than by iterator increment, comparison, etc.
Well, the only way to answer that is by implementing Alexandrescu's range abstractions and start comparing it with BoostRange. Not trivial IMO. Then make sure that the underlyigng algorithms/loop-unrolling are exactly the same. So basically, a huge (but very interesting) work.
It's definitely not trivial, but couldn't such a library be a very exciting addition to Boost? Not just because of the benchmarking opportunity but because of the possibility to pioneer into potential (far) future additions to the standard? If "ranges as a primitive" is deemed promising enough to invest effort into, perhaps we should try to start a joint initiative? Say, set up a github repository, using some existing libraries like Boost.Container as seeds, and collaborate on it with as many Boost members as can be motivated to make a (small) contribution... Wild ideas aside: I read Andrei Alexandrescu's slides, and I figure not everyone might agree to what he's saying. If anyone knows about a clever critical response, I would be most interested to hear. For completeness, here are the slides: http://www.uop.edu.jo/download/PdfCourses/Cplus/iterators-must-go.pdf And here's a short article by the same author which also touches on random access ranges: http://www.informit.com/articles/printerfriendly.aspx?p=1407357 -Julian