This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Advice on iterator vs. index efficiency


On 05/10/2007, Neal Becker <ndbecker2@gmail.com> wrote:
> Based on advice from some time back, I write algorithms to use iterators
> rather than index-based loops.  Often, this requires jumping through
> considerable hoops.
>
> I'm just wondering, with current gcc loop optimizations, it this advice
> still relevant?
>
> Is there (in general) a difference in speed for these 2 styles?  What about
> if the containers are multi-dimensional and loops are nested?

I remember seeing that for the simple begin-to-end loop over a vector,
gcc actually ends up compiling the iterator and index versions to the
exact same code.

In general, I'd say that if there would be a difference, the iterator
one might be faster as moving to the "next" might be simpler than
descending some data structure to an index.

Of course, I have no idea how pointers versus indices affects alias
analysis, or how much importance you'd place in the generality of
iterators.

~ Scott

-- 
La vendetta à un piatto che va servito freddo
Sed quis custodiet ipsos custodes?

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]