The article says, "all of the variables are no longer only 32 bits long, but 64 bits instead"
WRONG!!!
Only pointers are 64-bit, (plus a bit of extra alignment padding here and there for badly arranged structures.) Please don't make stuff up. Just a few huge improvements for 64-bit OSes: better compiled code - all 64-bit targets can assume 16 additional registers (8 extra integer, 8 extra SSE), the compiler can confidently always use a ton of much faster branch-free instructions like conditional moves, can assume SSE2 capabilities, so the old crappy x87 FPU instructions are never needed, MUCH bigger system pools, so handle leaks are tolerated much better and system capacities are much higher, almost infinite address space - so address space fragmentation is a non-issue, more effective address space randomization, so NOP sled security holes are more difficult to pull off, guaranteed data-execution-protection, severely hampering buffer overrun hacks, flat addressing model, eliminating the need to play with segment registers, less protection checking by the CPU, only paging protection is needed.
The list goes on and on. Dismissing a 64-bit OS for machines "with less than 3GB" is foolish.