[Trisquel-users] Re : How do you determine which ISO to choose, specifically, amd64 or i686?
So the question somehow comes down to how critical processor cache use efficiency is for a given user, all other things equal. Essentially every computer with a 64-bit architecture had better run a 64-bit operating system. For all the reasons in the Wikipedia section I linked to, before the sentence I quoted. That sentence deals with the doubled space required to store a pointer. Most programs do not use most of their space in main memory to store pointers. If they do and if 2^32 pointers are always enough (notice that even with a small 8-byte structure, storing 2^32 of them takes 32 GiB!), the program can often be modified: store the pointed structures in an array and the positions in the array (rather than pointers) in unsigned integers of 32 bits. I do that at least... and it indeed saves memory and can save time thanks to fewer cache misses. I hope developers of performance-critical programs have tried that, given the predominance of 64-bit architectures nowadays. If so, the so-called "main disadvantage of 64-bit architectures" has vanished.
[Trisquel-users] Re : How do you determine which ISO to choose, specifically, amd64 or i686?
See https://en.wikipedia.org/wiki/64-bit_computing#Pros_and_cons After listing many significant advantages of 64-bit architectures over 32-bit ones, it says: The main disadvantage of 64-bit architectures is that, relative to 32-bit architectures, the same data occupies more space in memory (due to longer pointers and possibly other types, and alignment padding). This increases the memory requirements of a given process and can have implications for efficient processor cache use.
[Trisquel-users] Re : How do you determine which ISO to choose, specifically, amd64 or i686?
All the output you show say "64-bit"... but they would not all say so if you were running a 32-bit operating system on a 64-bit processor (that works, at least for x86; the other way around does not): lshw, cat /proc/cpuinfo (and 'lscpu', that provides a far simpler output) inform about the hardware; uname and arch inform about the operating system.