Re: Advice on iterator vs. index efficiency

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



me22 wrote:

> On 05/10/2007, Neal Becker <ndbecker2@xxxxxxxxx> 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
> 

I was wondering if gcc would see that the index version is just incrementing
through, and avoid the nested index calculations.  This seems to be
supported by your statement that they generate the same code.


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux