if a 64 bit machine has 4 gig max,

From: Rod 
What other bonus of using a 64 bit OS are there, other than addressing  
more than 4 gigs of Ram?

Had a 64 bit dual core laptop come into my possession but it is limited to  
4 gigs.
So i'm trying to decide whether use a 64 bit version of linux or 32.

Using Opera's mail client: http://www.opera.com/mail/

=============================================================== From: Chad Smith ------------------------------------------------------ It can run 64-bit software. You would have fuller access to the entire horsepower of the CPU. Ask the question the other way - what possible benefit is there to running a 32-bit OS instead of a 64-bit one? *- Chad W. Smith*

=============================================================== From: Stephen Kraus ------------------------------------------------------ Widened addressable bus, the CPU can actually talk faster to the RAM, giving it a boost even if you have less than 4GB of RAM. There is a speed difference, and that is probably the biggest boost.

=============================================================== From: Rod ------------------------------------------------------ I'm leaning toward 64 bit crunchbang. Since I do want do some coding with it. On Sat, 01 Feb 2014 20:27:17 -0500, Stephen Kraus wrote:

=============================================================== From: John Hunt ------------------------------------------------------ A 32 bit pointer takes 4 bytes, a 64 bit pointer takes 8 bytes So the same program complied for 64 bit architecture may take a lot more space, if it has a lot of pointers. Some languages, such as Java, use a large number of pointers and thus grow in size. While it is good to have the wider datapath if the stuff you are moving, such as pointers, is twice as large your not really better off.

=============================================================== From: Chad Smith ------------------------------------------------------ Until 128 bit *- Chad W. Smith*

=============================================================== From: Stephen Kraus ------------------------------------------------------ In the end, 64 bit is going to be universal, so its not a matter of whether or not your want to program for it anymore...you are going to have to eventually. For now, we've got 32 bit backward comparability, but eventually 64 bit will be all thats left.

=============================================================== From: Stephen Kraus ------------------------------------------------------ No doubt Chad, until then.

=============================================================== From: Billy ------------------------------------------------------ This argument is horse pucky. Unless you've actually done it, then you don't know what you're talking about. I've seen 20% disk size increase in programs compiled with no optimizations. With O2 or Os optimizations, they've been the same size. Resident size, sure they are a bit bigger, but again typically 20% max. Most are a lot less than that. A 32 bit kernel can only see a 4 gig address space. Linux divides that memory into kernel and user space. Typically, that's 1G kernel and 3G user space. That's called the kernel/user split. Windows is normally 2/2, some windows parameters can make it 1/3 like Linux This means an application can only reference at max 3G of ram -- because in its virtual address table, the highest 1G is unmapped because it's reserved for kernel calls. Also, 32 bit systems can build virtual memory maps of real contiguous memory. Most systems have a memory hole at 3G -- you might get lucky and the hole is at 3.2G. This is due to io cards, PCI busses, and expansion slots needing to map their controller interfaces at memory somewhere. Well, if 4G is the max addressable, then that memory is also unusable to the OS. Unless you enable PAE extensions in the kernel. This allows the OS to map more than 4G of ram by using a sort or virtual map of virtual address tables. So a table of a table. It does this by carving a slice of ram as a window into this ultra high memory, and it automagically maps this unmappable memory into mapped regions via this window. It's pretty neat. For 4gig systems, PAE allows your system to map around those pesky memory holes. So where you could only see 3G before, now you see 3.8G. The end of memory is still unmapped, because the system still needs to talk to the IO cards. PAE has CPU overhead. It's extra instructions to remap this window around to see the different parts of the memory. Also, each process has its own virtual table, and in PAE, the OS has to do a ton of remapping each time there is a context switch (every time slice). So, while PAE gives you access to most of your memory, it's also a tad slower. 64 bit doesn't have this problem. It has a full 16 exabyte virtual memory table (or 256 terabyte on some architectures). So, memory holes for io devices can be mapped at the high end boundary of this virtual space. Also, the kernel split still exists, but it's more like 1G/1.7E10G (that's about 16EiB minus a gig). This means no extra memory mapping code. Context switches are basically a virtual address table pointer change. Additionally, 32 bit x86 systems only have 4 general purpose registers. 64-bit x86, has like 16 general purpose registers. That means code can be compiled to perform more register operations before it has to perform memory load/save operations. This means better L1 and L2 cache usage, faster execution (register to register manipulation is orders of magnitude faster than register to memory), and less op-codes to perform the same stuff (less memory copies). For compression, encryption, encoding and decoding, you should see a good speed boost. Also, all x86

=============================================================== From: David White ------------------------------------------------------ "Sent from my iPhone" You wrote that whole thing on your phone?

=============================================================== From: Mike Harrison ------------------------------------------------------ If Flushy told me he wrote than on his iPhone, my assumption would be: = Yes, with one hand. While coding in Java or C with the other.=20

=============================================================== From: Rod ------------------------------------------------------ This was helpful guys. I went with 64bit #! installed git, virtualbox, and now the test windows image. thanks

=============================================================== From: Billy ------------------------------------------------------ Hahaha Thanks mike. Now, if you all only knew what I was doing while taking the time to write that. Hint: it was after a night of heavy eating. --b

=============================================================== From: David White ------------------------------------------------------ T.M.I.