[Trisquel-users] Re : How do you determine which ISO to choose, specifically, amd64 or i686?

2020-04-24 Thread lcerf
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?

2020-04-23 Thread lcerf

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?

2020-04-23 Thread lcerf
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.