On Tue, Apr 14, 2009 at 7:09 PM, Michael Ash <michael....@gmail.com> wrote:
> This is not so. It's extremely rare to find a platform which
> *requires* aligned access, and you certainly won't find one running OS
> X. What's more common is finding a platform which *prefers* aligned
> access, punishing misaligned access with significantly slower
> operation. Even in those cases, "misaligned" means using an address
> that isn't a multiple of your data type's size. Since char is always
> one byte by definition, it is impossible to have a misaligned char
> pointer.

x64 requires certain alignments:
http://software.intel.com/en-us/articles/data-alignment-when-migrating-to-64-bit-intel-architecture/

I originally had the length member as an integer, which is why I was
concerned about alignment.  I modified it at the last minute because
it makes the pointer math easier and I can't imagine a prefix that
requires more than 255 characters.  The code I pasted is pretty
roundabout anyway; I'm not recommending that anyone use it, I just
wanted to convey my idea.

Another consideration I didn't take into account is that the iPhone
uses solid-state storage, whereas the kind of optimization I was
recommending (read in the entire file) is mostly beneficial on
mechanical disks.  It also helps circumvent buffered IO--when you know
you need the whole file anyway, there's no point in having the kernel,
the C runtime, and potentially Foundation buffer your (sequential)
reads.

--Kyle Sluder
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to