News:

Help! We're trapped in the computer, and the computer is trapped in 2008! Someone call the time police!

Main Menu

32 vs 64 bit

Started by CrAz3D, April 17, 2008, 12:08:25 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

CrAz3D

What is the difference?
For Vista 32, 64, would there be a lot of changes to take place?

iago

You probably wouldn't even notice.

nslay

Can't address more than 4GB in 32bit mode...if that matters to you.
I think some operating systems have experimental support for 64bit resources in 32 bit mode (e.g. Linux has experimental support for this).
An adorable giant isopod!

warz

Yeah, it wouldn't matter until you start getting up to those higher amounts of ram, I guess. It is neat if you like debugging, though. 64bit debugging is fun.
http://www.chyea.org/ - web based markup debugger

Hell-Lord

If your CPU supports the x86-64 architecture you should have no problems what so ever as it can also run 32 bit code. Plus in the next two or so iterations of windows (if your a windows person) 32 bit systems are going to be history.

warz

I switched back to the 32bit version of vista because I didn't like how the file system was laid out on the 64bit version. There's multiple program files directories, and stuff. I'm too picky to have stuff spread out all over the place. :P
http://www.chyea.org/ - web based markup debugger

MyndFyre

Quote from: nslay on April 17, 2008, 10:44:27 AM
Can't address more than 4GB in 32bit mode...if that matters to you.
The primary hangup for this is your video card.  Windows maps video memory into physical address space, so if you have a 768MiB video card and 4GiB of RAM, you can only see 3.25GiB of memory in Windows in x86 (32-bit), although you MIGHT be able to work around this with PAE enabled.  I run x64 Windows at home; aside from some initially shaky driver support (I got it at RTM, two months before retail launch), I've had zero problems with it, and I get about 0.2 extra tick points out of my CPU on the performance measurement tool.

To re: to warz' comment: there are extra folders:
c:\Program Files (x86)\ -- this is a place where 32-bit programs are installed.  Native x64 apps go into c:\Program Files\ still.
c:\Windows\SysWOW64\ -- this is the place where all your 32-bit c:\windows\System32 files would go (since 32-bit apps need to still dynamically link against the 32-bit libraries).

Off the cuff, those are the only "extra" files I can think of (I'm on my work PC right now).
Quote from: Joe on January 23, 2011, 11:47:54 PM
I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Quote from: Rule on May 26, 2009, 02:02:12 PMOur species really annoys me.

Camel

The bottom line is that it isn't worth it unless you don't encounter any issues when converting, or just want to experiement. You'll be running faster by an amount that probably won't be noticeable, not counting the typical performance boost of a clean slate install (regardless of architecture). The number of 64-bit instructions done in 32-bit code is minimal, and you're reducing the number of cycles for 64-bit operations by half.

But there's a very good reason to go to x64, and it has nothing to do with the registers' width! x86 only has 8 registers (not counting the 16/8/1bit registers that subdivide the main 8), each 32-bit. x64 has 16 registers, each 64-bits. What does that mean? Fewer trips to the cache, and ultimately, fewer cycles wasted waiting on your (relatively) slow memory bus.

<Camel> i said what what
<Blaze> in the butt
<Camel> you want to do it in my butt?
<Blaze> in my butt
<Camel> let's do it in the butt
<Blaze> Okay!

warz

like i said, debugging is fun on 64bit systems!
http://www.chyea.org/ - web based markup debugger

CrAz3D

Is it worth it on a Mac?


Also, is there much difference in how Windows is coded between 32 & 64?  Does a lot of code have to be changed?

MyndFyre

Quote from: CrAz3D on April 17, 2008, 05:37:01 PM
Also, is there much difference in how Windows is coded between 32 & 64?  Does a lot of code have to be changed?
Windows itself?  Not really; most of it is abstracted away within the HAL (Hardware Abstraction Layer) and the memory manager (Mm... functions in the kernel/native API).

Windows programs?  Only if you've done stupid things; for example, assuming your libraries will be in %systemroot%\System32 isn't correct (like I said, 32-bit libraries are in %systemroot%\syswow64 on 64-bit Windows -- WOW64 stands for "Windows-on-Win64", the compatibility layer).  Other things that affect x64 compatibility is using LoadLibrary()/GetProcAddress() on an image compiled for the other subsystem -- for example, an x86 program can't LoadLibrary() an x64 DLL and vice-versa.
Quote from: Joe on January 23, 2011, 11:47:54 PM
I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Quote from: Rule on May 26, 2009, 02:02:12 PMOur species really annoys me.

CrAz3D

So for 32 vs 64 in Windows itself ... just a matter of changing something that wouldnt take too long?

MyndFyre

Quote from: CrAz3D on April 17, 2008, 11:37:22 PM
So for 32 vs 64 in Windows itself ... just a matter of changing something that wouldnt take too long?
What does that mean?  Are you on the Windows development team now?
Quote from: Joe on January 23, 2011, 11:47:54 PM
I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Quote from: Rule on May 26, 2009, 02:02:12 PMOur species really annoys me.