64ビットを設定すると、結果のバイナリは「ファット」バイナリになります。これには、薄いファットヘッダーがバンドルされた3つのMach-Oイメージがすべて含まれています。あなたはotoolまたはjtoolを使用してそれを見ることができます。iOS 7.0 SDKの一部として含まれているいくつかのファットバイナリ(AVFoundation Frameworkなど)を次のように確認できます。
% cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport/7.0\ \(11A465\)/Symbols/System/Library/Frameworks/AVFoundation.framework/
%otool -V -f AVFoundation 9:36
Fat headers
fat_magic FAT_MAGIC
nfat_arch 3
architecture arm64
cputype CPU_TYPE_ARM64
cpusubtype CPU_SUBTYPE_ARM64_ALL
capabilities 0x0
offset 16384
size 2329888
align 2^14 (16384)
architecture armv7
cputype CPU_TYPE_ARM
cpusubtype CPU_SUBTYPE_ARM_V7
capabilities 0x0
offset 2359296
size 2046336
align 2^14 (16384)
architecture armv7s
cputype CPU_TYPE_ARM
cpusubtype CPU_SUBTYPE_ARM_V7S
capabilities 0x0
offset 4407296
size 2046176
align 2^14 (16384)
バイナリ自体に関しては、ARM64ビット命令セットを使用します。これは(ほとんど32ビットと互換性がありますが)まったく異なる命令セットです。これは、グラフィックプログラム(NEON命令とレジスタを使用)にとって特に重要です。同様に、CPUにはより多くのレジスタがあり、プログラムの速度に大きな影響を与えます。これが違いを生むかどうかについて、http://blogs.barrons.com/techtraderdaily/2013/09/19/apple-the-64-bit-question/?mod = yahoobarronsで興味深い議論があります。ベンチマークテストは、これまでのところ、それが行われていることを明確に示しています。
otool -tVを使用すると、アセンブリがダンプされ(XCode 5以降を使用している場合)、命令セットの違いを自分で確認できます。ほとんどの(すべてではありませんが)開発者は変更にとらわれず、ほとんどの場合、Obj-C(CG * APIにもかかわらず)に直接影響を与えず、低レベルのポインター処理でより多くのことを行う必要があります。コンパイラはその魔法と最適化を行います。