On 14.04.22 15:45, Levis Yarema wrote:
Is there in deed any reason to prefer amd64 over i586 if you have the choice and a machine with 2GB RAM or less, apart from perhaps long term support?
Depends on the application. Encryption and decryption requiring the simulation of very larger integers shall be faster when being based on 64bit integers. However these are rather special purposes. CPU and memory intense applications like the SAT-solver I am developing on the other hand will be faster on i386 since a memory reference/ pointer only requires 4 byte instead of 8 byte. Smaller size will yield less memory access cycles and more cache hits and that can make an application considerably faster. It is the cache that is effectively more important than the register layout. Some SAT-solvers like f.i. the DNNF-c2d are only available for Linux/i386, not for amd64. Concerning general purpose applications normal integers keep to be 32bit even on amd64. Note the sizeof(int). This is also for the rationale described above. x86_32 programs can even be smaller on disk and in memory. I personally donĀ“t think that there is much reason to use amd64 with 2GB ram or less, except for bigint calculations. Note however that with a 64bit kernel you can execute programs in a 64bit and 32bit chroot while this is impossible with a 32bit kernel. This is a reason why many people boot with a 64bit kernel but use a 32bit installation. As for certain CPU and memory intense programs you can run them as i386 binary even on an x86_64 root given that i386 system libararies are installed which is possible with dpkg --add-architecture i386.