What he's actually trying to say is that in the normal order of things, semantic clarity and portability should be more important to you than writing every single line in the highest-performance way imaginable. If you decode byte-ordered values in the way he suggests, your code will work on both big-endian and little-endian architectures. In certain cases you can speed up your code by explicitly writing it as a noop, but that's an optimization, meaning you shouldn't do it prematurely. Ideally your compiler (or at least your standard library) would be smart enough to do it for you.