Is there any overhead iterating over a pointer using a slice?

Gary Willoughby via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Jun 1 12:08:02 PDT 2016


On Tuesday, 31 May 2016 at 20:52:20 UTC, Johan Engelen wrote:
> On Tuesday, 31 May 2016 at 18:55:18 UTC, Gary Willoughby wrote:
>>
>> If I have a pointer and iterate over it using a slice, like 
>> this:
>>
>> 	T* foo = &data;
>>
>> 	foreach (element; foo[0 .. length])
>> 	{
>> 		...
>> 	}
>>
>> Is there any overhead compared with pointer arithmetic in a 
>> for loop?
>
> Use the assembly output of your compiler to check! :-)  It's 
> fun to look at.
> For example, with GDC:
> http://goo.gl/Ur9Srv
>
> No difference.
>
> cheers,
>   Johan

That's pretty nice.


More information about the Digitalmars-d-learn mailing list