
Joaquín Mª López Muñoz wrote:
MSVC++ 6.0: iterator_facade: ~7 sec. bidirectional_iterator_helper: less than 1 sec. GCC 3.2 iterator_facade: 4.9 sec. bidirectional_iterator_helper: 2.5 sec.
FWIW my results with gcc4 on darwin are in line with what you see from gcc 3.2
My questions: 1. Maybe the test program is flawed and has some (unseen by me) bias in favor of bidirectional_iterator_helper?
Well it is certainly biased in that it is simple ;-).
2. If not so, why is iterator_facade so very expensive? Is there any way to alleviate the problem?
iterator_facade covers more ground than the iterator helpers. Forinstance it deals with new iterator categories and iterators that don't fit the C++03 categories well. That being said as long as you don't need this functionality ... There is a chance of a future revision of facade improving compile times. But this won't happen any time soon.
As it stands, I'm not so sure it's a good idea to adopt boost::iterator_facade:
To be honest I don't know either. As long as you don't need the extended functionality of iterator_facade you might be better of staying with the helpers for now. HTH Thomas -- Thomas Witt witt@acm.org