Is It Time for 64-bit on the Desktop?

It seems a little… wrong to call Vista a popular OS.

The biggest drag to 64 bit adoption is going to be the lack of 64 bit versions of MS Office and, probably more significantly MS Access/Jet. MS is using the 64 bit transition to try to finally kill off the mdb file in favor of SQL Server. I think corporate America is going to change their mind for them, but in the mean time it’s going to be a rough few years for those of us who’ve written apps that rely on Jet.

By the way, I remember when we were in the 12 bit era with the 8088 and reading Intel technical roadmap stuff about 32 bit archetectures for the 80386. At that time having 4 gig of virtual memory was absolutely unimaginable. I think we’ll see a move to 128 bit computing sooner than you think.

It may be the last bit transition in our lifetimes.

I am suprised Jeff…

The one thing I have learned in this strange field was to never use the words, never, last, final, etc…

When we are using protein based bio cube memory modules with laser holographic resonance imaging subsystems we will be cursing your shortsightedness.

I remember being told the 640K was going to be impossible to fill too.

I can see lots of use for 64bit applications as well as 128bit and beyond requiring massive amounts of RAM. The “goal” of computing if you will is just that. Computing. Efficient massively parallel “machines” will be required to perform AI / human interaction models effectively, and thats just to enable a robot to interact with us and do our bidding. Think of the military applications that are undoubtedly being dreamed up in skunkworks type labs. Although I would much rather have that computing be put to use for games and desktop applications :grin:

16-bit can be worked around with dosbox I hear. Otherwise you could probably load up a virtual PC with windows 95 or windows 1.0 or whatever floats. If/when I ever go this route, I’ll be crushed if I can’t run my dos tie fighter (the awesomest of all star wars games to this date)

In addition to everything else I do on my computer, I use it as a DVR. Unfortunately, I have yet to find a consumer-grade HD tuner card with a 64-bit driver for Windows.

I think the UNIX/Linux/Solaris move to 64-bit went well, especially as they are all LP64. Solaris and Linux on the desktop in on x86-64 is a good thing and very stable and I find works great.
Porting Windows 32-bit apps to 64-bit takes some effort, the LLP64 isn’t they same as LP64 and that hurts portability. Many libraries and apps that people rely on either don’t compile or haven’t been built with VS2005 yet.
But the transition definitely will happen over the next few years.

@Joe:
Are you referring to how Jeff “The Gatekeeper” Atwood was putting forward unqualified assertions and just generally making a jackass of himself? If that was the case, I could definitely see the parallels between his post and yours.

Fortunately, he’s not writing about cryptography this time, so his arguments come off as a bit more cogent :wink:


But all seriousness aside, the argument that we’ll never switch to 128 bit computing in our lifetimes is an interesting one. It definitely appears true as long as we stick to conventional computing methods, but I wouldn’t put too much cash money on it.

I know Bob was joking when he mentioned using virtual memory to address drives on IP-accessible computers, but who knows how plausible that will be 20 years from now? Also, who knows how commonplace distributed computing will become? That could change the whole face of the game.

To be safe, let’s just say we’ll never see a general switch to 256-bit computing in our lifetimes.

I went with a Vista ultimate 64 w/2GB RAM laptop in June. The only problem I’ve encountered is printing on my 32 bit network server, the drivers are there but the inf file needs to be hacked on the server to recognize the 64 bit drivers; just haven’t gotten around to it.

As to the 4GB memory and where it would be used, VM. On my new laptop a VM instance of XP runs faster than the previous 32 bit laptop does natively. This makes it great for testing apps I develop and previewing beta software, Orcas (VS 2008) or SQL 2008. With the two gig on the laptop I can only run one instance of VM at a time, I’d love to have 4 for running 2-3 instances.

Steve S.

See this for making use of your full 4GB of memory on an x86 running a Linux operating system(haven’t tried it myself, but it seems legit to me):

a href="http://www.linux.com/feature/119287"http://www.linux.com/feature/119287/a

I can only assume it does thing through further obfuscation of virtual memory addresses which make fetching/writing to memory slightly slower than it would be if you were using an architecture like x86-64 which was built to provide access to more RAM.

Mac OS X Leopard is x64

Sorry, Jeff is right. The Mac OS X Kernel is still 32 bits. This was mainly done for driver compatibility. However, it isn’t all that much of a limit since Mac OS X has a micro-kernel structure. Only the lowest layers that work directly with drivers is 32 bits. The rest of the OS is 64 bits. This includes memory addressing and register handling, so most of the 64 bit kernel benefits are there. 64 bit apps on the Mac are much faster than the 32 bit implementation. It is also the reason why a single Mac OS can handle 32 bit and 64 bit implementation while Vista has two distinct implementations.

I bet the next Mac OS X release will be 64 bits down to the micro kernel. I suspect it wasn’t done because certain Carbon heavy companies whose names I won’t mention (Adobe and Microsoft!) already will have a heck of a time having to move everything to Cocoa.

I cannot believe the “technically literate” rubbish here. It matters nought to me how
good Unix/Linux might be, or how bad Windows might be. Every single one of my
clients runs Windows. I never get asked to write software for Unix, or Mac either.

Then you need a high class of clients ;-

(Look smilie! I was just joking!)

Seriously, I’ve been mainly doing Unix development and really haven’t had a problem with finding work or getting a paycheck. The issue is one of “experience”. You have mainly Windows experience, and most of your contacts are with Windows developers. Thus, you hear mainly about the Windows jobs. People I know who mainly have Unix development experience rarely hear of any sort of Windows development positions.

I think this divide between Windows vs. *nix development is a sad development because I both sides could learn a lot from each other. For example, if all those Linux people see how Microsoft makes it easy to setup a Windows network, they’d probably build better utilities. (Then again, maybe not. Anyone who’s used “git” knows that Linux people like doing things the hard way.)

And if Windows developers see how quickly Unix developers are able to work because they’re not stuck with using VisualStudio, maybe they’ll demand Microsoft actually create a fast and efficient development platform. (Then again, maybe not. I can’t understand how a developer thinks that an environment that is so complex, that it takes five minutes to load up a project into the IDE, or a development environment so complex, that a tool like intellisense has to be created to make development even feasible is the greatest platform in the world. And, they say Steve Jobs serves the Koolaid!)

I am continually frustrated by this author’s win-centric-ness. I don’t see how any technically literate individual can support the crap that microsoft has produced over the past decade. One certainly can’t make an objective evaluation of 64 bit hardware performance based only on windows! I would suggest that the authors disappointment with the 64 bit architectures lie not in the hardware itself but rather the software he is running. Windows simply has a poor design, and will not be capable of leveraging current hardware technology(maybe by the time 128 bit hardware comes to market MS will have a decent 64 bit implementation, but I wouldn’t be holding my breath). By the way I have been running x86_64 since 2004 when I got my first athlon 64 and put fedora 2 on it. Where was MS in 2004? not in the 64 bit arena thats for sure. Its disappointing to hear the author give MS a pat on the back for brining 64 bit windows to market 3 years late, given that lag they better damn well have their driver interface re-compiled. By the way I am currently running 16 G of ram in my dual cpu quad core AMD athlon 64 work station. I am running a quality os:64 bit kubuntu. Designed and built by technically literate individuals, for technically literate individuals. not the retarded backward thinking drones that gates hires and builds software for. since the upgrade from 4 to 16G I have seen a massive performance increase. No swapping needed for most of what I do. And that is where memory hungry apps stand to benefit the most as I see it. You didn’t even mention swapping in your piece! Your classes and structs will tend to be larger but the bus in and out of the cpu is also wider so I don’t any negative impact there, as for cahce if you hadn’t noticed the newer chips come with quite a bit more than 2 M, last time I looked high performance intel chips were shipping with 8M. Probably by the time you get your latest project to market the low end chips will be shipping with 8M.

I seriously hope you realize that windows is a piece of sh** and start taking that into account in your blog, if not then in my opinion you are just another writer who think he knowns whats up but doesn’t have a clue.

Holy crap Santana, aren’t you just an elitist!?!? Why do people continually think that there is and should be only 1 ‘of anything’, just because it’s built by people for people? We would all live in the same style of home, drive the same car, etc. I’m not saying that Windows isn’t bloat rot, but it runs the applications that I want to use. That’s the world I live in.

Slamming someone who writes a blog because it slants towards one particular OS, when if you read his biography you would realize that this blog will lean towards Microsoft since Jeff is a developer of the Microsoft platform.

It’s great that you are a proverbial grandfather in the 64bit arena and probably have helped paved the way for the rest of us to join you. But just because we are hear and we are running Windows don’t crap on our parade.

If for no other reason, Microsoft brings the market with it; peripherals, applications, etc. The more people doing 64-bit the more they will port it to different OSs, which benefits in the elitist linux people that have to write their own drivers for the latest and greatest devices that come out with only Windows/Max support.

By the way, Linux had full support for x86-64 for a couple of years already. I’ve been using linux-x86_64 for more than two years, and all software is 64-bit here, and absolutely no problems with drivers (there are devices for which there will never be new drivers for windows).

I have been running XP 64bit with 4GB RAM now for over a year and I have to say that I have not really had many problems with drivers and like. To be honest most problems were configuration issues with IIS and .NET.
I really believe that 64 bit is still seen as a bit of a novelty and most of my colleaques are still ranting that “you cant get drivers…”

I am a developer and I have to say that under XP x86 I was having to reboot my machine once a day as I reached one limit or yet another crash! with 64 bit I cant remember the last time I had to reboot!

Don’t forget PAE. Though a PAE enabled 32-bit OS will NOT run 64-bit apps, it can use more than 4 GB of physical memory.

Holy crap is right. It is that kind of attitude since the split with Abraham that has had the Muslim’s and the Christian’s at each others throats ever since; throw in the Jews and we can have a real free for all. How about racial superiority, you want to espouse that too.

Ever considered tolerance, live and let live, different strokes for different folks, etc?

I started out writing apps on the Mac in '90, by '92 I went to Windows, not because it was a better platform, but because that’s where the market share was, and therefor the customers. There’s not a week goes by I don’t curse windows and give thanks for the paycheck it brings me.

“Will there be a transition to 128-bit machines and operating systems? Absolutely.”

Actually, not really. Big numbers are easy to make up on a piece of paper, but in order for an address space to be actually useful, a piece bigger than the 2 EB provided by 64 bits has to be backed by physical storage.

Think about how you will build this physical storage and you’ll see that you can’t. We’re already down to a few atoms in DRAM – there’s not much more data we can pack into a given physical area of circuits, given our current knowledge of physics. I don’t think even quantum computers would increase storage density enough to make 128 bits worthwhile.

Unless theoretical physics change dramatically (like the discovery of hyperspace pockets…), we’ll never go beyond 64 bits. Not a matter of “enough for anyone” but a matter of “can’t build a computer to make use of that space, even with hypothetical manufacturing technology”.

I have a few small points: firstly, even a 32 bit Linux kernel can be configured so that every application can use (almost) 4 GB, the 2/3 GB limits are Windows-specific.
Also, we currently do not have any real 64 bit CPUs yet in terms of address space, they are actually 40/48 bit for now, though switching to more bits (up to 64) will need only changes to the operating system, not the applications (unless the programmers did some really stupid things).
And lastly, 64 bit mode offers not only 8 additional registers, the 64 bit registers mean a big advantage for any applications that really need 64 bit numbers (e.g. it can half the number of instructions needed for some AES operations, and a whole DES block fits in one register).
And the “needs twice as much memory” really only applies to pointers, which for many application I guess make up only a few % of all data.
From my personal experience: 64 bit mode make very little difference in most cases, rarely it is a bit slower, and in some equally rare cases it is a lot (about 10 - 20 %) faster, mostly as you said multimedia, like H.264 decoding with FFmpeg.

When I got my OEM Vista Ultimate 32-bit I was so tempted to go 64-bit, but I was worried about driver/app compatibility. Now I find myself wishing for 64-bit with all the good stuff I am hearing, but does that mean another full Vitsa Ultimate licence? Or is there a cheaper upgrade to 64-bit?