I was reading the NSHipster article on enumeration, which claims that for-in loops are faster than enumerateObjectsUsingBlock:
:
Unless you actually need the numerical index while iterating, it's almost always faster to use a for/in NSFastEnumeration loop instead.
This answer provides some rebuttal for that quote:
Fast enumeration requires translation from an internal representation to the representation for fast enumeration. There is overhead therein. Block-based enumeration allows the collection class to enumerate contents as quickly as the fastest traversal of the native storage format.
What is the translation process to move from the internal representation to the representation for fast enumeration? I understand that there is some overhead there, but how much?