Friday, December 2, 2005

64bit or 32bit?

Novell's SUSE has released its Linux distribution to the latest 10.0 (and 10.1 is underway in the development). At opensuse.org, I saw there is also ISO file available for Linux for 64bit processors. A few weeks ago I downloaded 5 ISO files for installation CDS from opensuse.org (and just recently converted them to a single DVD. Just follow instructions in http://www.opensuse.org/Making_a_DVD_from_CDs).

I booted up my AMD64 laptop with the DVD, but then I changed my mind. Not to upgrade my Linux now and stayed with the older version (SUSE 9.3). One of the reasons is that, my Linux partition is too small for the 64bit (I have only 12 GB out of 80GB HD of my hard drive for Linux, the rest is for WinXP). I searched the internet and found some discussions saying this 64bit requires almost double as much space as 32bit version. This is because there is /lib64 and /usr/lib64, in addition to /lib or /usr/lib, for 64bit so we can run applications with both versions. Also, 64bit files are generally larger than 32bit, because some of the processor's instructions require extra bytes to handle 64bit operations.

Sometime ago, I read on the Internet that ndiswrapper might not work in 64bit environment. But I saw there was 64bit version of it on the CD, so I believe it is now supported. This was another reason I was scared to upgrade it in the beginning. Also, NVIDIA and ATI now support 64bit version of their graphic processors. The remaining issues are minors, I guess.

What are the benefits of using 64bit system? OK, first of all, it can handle huge memory space (hundreds of terabytes, instead of just 4 GB as on 32bit version). Another thing is, theoritically it should be faster. Why, you might ask? Because the processor can transfer data as twice as much in the same duration than the 32bit system. Also, security gets a big benefit because now it can directly handle long integer computation directly down to the machine code. I recall, with 32bit environment, we need to handle large integer computation manually using some algorithms.

Anyway, this is just my hypothesis. I have not tested it yet nor benchmarked it. I will do it soon, but I need to get my Seagate's 200 GB external Hard drive first to backup all my data before doing this. Will post it here as soon as I've done it.