( uid_6201 | 2021. 06. 13., v – 09:43 )

... hát, vannak más tapasztalatok is a kisebb méretről:

rsync://ftp.de.debian.org/debian/pool/main/x/xz-utils/xz-utils_5.2.5-2_<arch>.deb

És kibontva az xz futtatható binárisokat, nézzük a méreteit:
92264 márc   8 23:01 xz-x86
81192 márc   8 23:01 xz-x86_64

$ file xz-x86
xz-x86: ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, BuildID[sha1]=c8f0ca3d57cd02dc3f5c28e20d70a08f8336a91c, for GNU/Linux 3.2.0, stripped

$ file xz-x86_64
xz-x86_64: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4959eb8cd4726580875b1be654a5dce77eb8ae39, for GNU/Linux 3.2.0, stripped

Oka: elmélet-gyakorlat közötti különbségben keresendő. Elvileg kisebbre fordítható az adott processzoron a 32 bites kód. A gyakorlat viszont az, hogy a 32 bites prociknál a kompatibilitás és az ősi utasításkészlet következtében sok dolgot bonyolultan kell leírni, hogy fusson i486...legújabb prociig. A 64 bitesnél a legszűkebb utasítás-metszet az Athlon64 (2003) és a 2004 utáni Pentium4 utasításkészlete.
Másik ok: hiába 32 bites a szóhossz, valójában a 4 GB-nál nagyobb lehetséges fájlméretek miatt több utasításból kell összerakni a 64 bites fájlokat kezelni képes pointereket. Itt szintén memóriatakarékosabb és gyorsabb is az egyetlen 64 bites utasítás.