Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Why Windows is Slow

Posted by Zonk on Tue Mar 28, 2006 09:19 AM
from the i-blame-lazy-gerbils dept.
hype7 writes "The New York Times is running an article on why they think Windows is so slow. They boil it down to one key factor - legacy support - and they hold up Apple as an example of a company willing to make hard decisions around legacy support in order to provide a better product. From the article: 'Windows is now so big and onerous because of the size of its code base, the size of its ecosystem and its insistence on compatibility with the legacy hardware and software, that it just slows everything down ... That's why a company like Apple has such an easier time of innovation.'"
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • if only (Score:5, Funny)

    by deltree1010 (909548) on Tuesday March 28 2006, @09:21AM (#15009873)
    I'd have had first post if windows wasn't so slow. :-(
    • by Mayhem178 (920970) on Tuesday March 28 2006, @11:53AM (#15010968)
      Despite the fact that this article has little to nothing to do with the "slowness" of Windows loading/execution (which is, of course, debatable depending on the app in question), I'll indulge the M$ haters and throw this into the mix.

      If you want faster Windows, use nLite [nliteos.com]. It's a beautiful tool that lets one take a Windows XP installation CD and make any number of modifications to it: remove unwanted components/drivers, preset Windows settings, slipstream hotfixes and service packs...even completely automate the installation process by presetting all installation information (license key, etc.). Then, it generates a brand spanking new ISO for you to burn and use for installation. It's glorious.

      After nLite-ing my personal XP installation, I must say I have never been happier with Windows. I've left it running for weeks with no problems. A fresh installation of my nLited XP is just over 1 GB of HDD space (whereas the typical XP installation can top 3 GB). It could have been less, but not without removing several components that I wanted to keep.

      Granted, this tweaking is not without its quirks. I do occasionally get a warning about "unrecognized file versions", but thus far ignoring them has not caused any problems. I would suggest the following though: I know it's tempting to remove IE right off the bat, but trust me when I say don't. It is needed for some very important functions (such as updates). Also, I would caution against removing Windows Media Player as well. Sure, you may never use it (hell, I never did), but if you remove it, it takes its codecs with it, which can cause other apps to not function properly (such as Winamp). I guess you never know what you have until it's gone. If you're bound and determined to remove it, then I highly recommend the ACE Mega Codecs Pack [free-codecs.com] as a replacement.

      Happy hacking!
      • Windows XP Embedded (Score:5, Informative)

        by cecom (698048) on Tuesday March 28 2006, @01:06PM (#15011479) Homepage Journal

        Definitely don' delete IE :-)

        Windows XP Embedded lets you do a thing similar to what you are describing - you can create an image only with the components you select and the tool keeps track of component dependancies so it prevents you from creating a broken image by requiring the missing dependancies.

        This is where the fun starts. There are dependancies you wouldn't imagine. I wanted to create a very minimalistic XP image with basic API functionality and TCP/IP networking. Impossible. The DHCP component requires the SNMP component, which requires the HTML Help component, which requires, yes you guessed it, Internet Explorer !!!! DHCP client -> Internet Explorer : it makes perfect sense.

        Then I foolishly wanted to add SP2's firweall support. The firewall required all kinds of COM and DCOM components, including Microsoft Transaction Server (!!!) or similar crap and of course Internet Explorer as well. Why, oh, why, does a network firewall require Microsoft Transaction Server ?

        Of course these dependancies are not always critical - I am sure I could have deleted IE from the image and DHCP would still have worked - but nevertheless it is funny that MS claims IE is not a part of the OS, while it must be present in the simplest OS image :-)

        Getting back to the subject - I definitely wouldn't use a tool like nLite - you end up with an unsupported custom version of Windows and you never know what is going to break, which service pack or update is not going to install, etc. It is not worth the hassle.

        • by d34thm0nk3y (653414) on Tuesday March 28 2006, @03:56PM (#15012799)
          I agree with your sentiment, but the factual errors should have prevented an "informative."

          Why, oh, why, does a network firewall require Microsoft Transaction Server ?

          MS Transaction Server is middleware used in the development of (frequently COM based) internet/network apps. COM is pretty much the basic messaging system used for most MS app, it allows you to use modules from different programs interchangeably (like embedding explorer and stuff like that). So, those will be required for quite a bit of MS software.

          but nevertheless it is funny that MS claims IE is not a part of the OS, while it must be present in the simplest OS image :-)

          MS has never claimed this! They claimed the exact opposite in fact during the anti-trust trials as a reason they couldn't un-bundle IE.
  • Transitions.... (Score:5, Interesting)

    by BWJones (18351) * on Tuesday March 28 2006, @09:23AM (#15009881) Homepage Journal
    Interestingly, I've found Apple to be very willing to integrate backwards and forwards support in their OS. In the transition from 680X0 to PPC, Apple made sure to include some very clever programming that allowed a native and non-native apps to co-exist. In the transition to OS X from Classic, they included Classic as a virtual environment and in the transition from PPC to Intel, they are working very hard on Rosetta, another environment that preserves people's investment in their software.

    In contrast, I've had a fairly difficult time getting older software on Windows to even run sometimes. We kept a Win95 box around for the longest time because of some very specific software we needed that would not run on anything else.

    • What's funny is, based on Microsoft and Apples experiences with virtual environments, you'd think Microsoft would take the whole backwards compatibility miasma and throw it into a Connectix/Virtual PC environment.

      Build the whole OS as a tight, single codebase that supports VMs, then let the VMs handle backwards compatibility. I never understood why 100% of the population has to suffer for the 3% that wants that parallel port handheld scanner to work.
          • Re:Transitions.... (Score:5, Informative)

            by LWATCDR (28044) on Tuesday March 28 2006, @01:21PM (#15011611) Homepage Journal
            "OS X is clearly the crappier solution."
            No not really.
            OS X is only the crappier solution if running old apps is more important than running new apps.
            All the old windows cruft going back... However long has an impact on new programs. OS Xs solution keeps all the cruft in a nice little box that can be forgotten about. The fact that older software is slightly harder to run also encourages people to port their software to the new OS and get out of the compatibility box.
            OS X is the crappier solution for running old software.
            Windows is the crappier solution for writing new software.
            One is not clearly better than the other. Each has it's advantages and drawbacks.
            As a user I like OS/Xs method. I want the latest and greatest. As a developer I like Windows method. Why you ask? Simple I don't have to port my code to the new environment to have it look right. Frankly the bar for Windows developers is much lower than Mac. You can get by with a lot less effort for a longer amount of time in Windows than the Mac.
            A proper Windows98 program will look good and run well under XP and if you do things the right way under Vista as well.
            That is the point of the article. Windows is being held back by all the old crap that adds complexity and makes moving forward a real pain.
            Should Vista still run old dos programs? If so maybe DOS and 16 bit windows programs should be run in a VM out of the way.
            The other way it is hold back innovation is that it is really easy to sit on your laurels in the Windows world. Once you are established it is hard to get bumped out of your position. It is really hard to write a much better Windows program than what is already established in the marketplace. A big change like from Dos to Windows and OS/9 to OS/X is like a fresh start. Everyone has to come up with something new and innovation can really happen.

  • Emulation Layer (Score:5, Insightful)

    by NETHED (258016) on Tuesday March 28 2006, @09:24AM (#15009893) Homepage
    Windows Vista is coming out as a 're-write' of the code, but I don't believe they are recoding the real legacy parts of the Windows code. I think Microsoft needs to do away with native legacy support like Apple did, but keep it around with emulation. If WINE can reverse engineer the Windows layer, than why can't Microsoft, with access to the source?

    • by swb (14022) <mobocracy@gmail.com> on Tuesday March 28 2006, @10:12AM (#15010215)
      I think a better solution would be a legacy-free OS that would have XP-level compatibility but would provide a VM layer configurable as DOS, NT4 or Win2k, depending on the need of the application.

      If this isn't practical (having to run one each of the above layers could gobble tons of RAM), then at least providing a way to do a legacy-free installation with the option of adding support for older environments later. Systems that didn't need it wouldn't have to have it added, perhaps improving performance.
  • GNU/Linux Legacy (Score:4, Insightful)

    by SWroclawski (95770) <serge@@@wroclawski...org> on Tuesday March 28 2006, @09:42AM (#15009994) Homepage
    I can run 10 year old binaries yet my system is no slower.
      • by Inoshiro (71693) on Tuesday March 28 2006, @02:15PM (#15011994) Homepage
        I can grab the statically linked binaries off of my Simtel CD set that includes Slackware 2.x and run them. The old statically linked a.out files will run if I put that executable support in, and any statically linked ELF binaries also load fine. Both of those existed 10 years ago (right around when most people had switched to ELF).

        Dynamically linked ones can work, too, provided I install the libraries that support them (and I can install them concurrently with modern libraries, since their names include the versions of their interfaces). Only libraries and programs that directly use the Linux system call interface (not the POSIX interface) are unlikely to work.

        Quake binaries of that era function. The OpenGL 1.x interface they use is provided via my OpenGL libraries. OSS is emulated by Alsa. I can use fancy new binaries given by the Quake source code, if I want, but it's not required.

        In fact, the best part about Linux you could say, is that I am not locked to archaic binary interfaces because most of my code is available in source form to everyone, including people who are willing to recompile it for me and provide it in a nice distribution (Kuuntu) with minimal interaction on my part.

        So we can support legacy, but we choose not to. This choice is important in software use freedom.
  • Vista (Score:5, Funny)

    by Z1NG (953122) on Tuesday March 28 2006, @09:43AM (#15009999)
    Maybe this is why Vista is taking so long to come out. They are programming it in Windows.
  • Stupid article title (Score:5, Informative)

    by gatkinso (15975) on Tuesday March 28 2006, @09:51AM (#15010057)
    But even stupider responses below illustrating just how many people don't read the article.

    Fo those who simply refuse to RTA I will summarize, to wit: the article deals with the pace of Wiindows software releases and the recently announced delay of Vista... not the speed at which the OS loads and executes applications.
  • by dioscaido (541037) on Tuesday March 28 2006, @10:39AM (#15010423)
    ...depended on OS9? Lets be serious for a second. While I'm sure it's a painful process nonetheless, you can't really compare Apple forcing Adobe/Macromedia and a handful of other software makers to rewrite their packages to OSX' new API, to Microsoft forcing, say, the DOJ or Siebel to rewrite their software deployments. A Microsoft deprecated API could easily cost hundreds of billions of dollars. So for Vista MS is tasked with reviewing and security testing the heck out of whatever legacy components they cannot remove. And they do often take out legacy functionality that couldn't possibly fit our security model. But the major stuff, for the most part, has to stay in some form or another.

    That said, I do wish more were done with virtualization to clean out the main OS.
  • Fresh start (Score:5, Insightful)

    by dfj225 (587560) on Tuesday March 28 2006, @10:43AM (#15010458) Homepage Journal
    What I've never understood is why a company as large as Microsoft never tried to create a second operating systems team with the goal of having it produce a new operating system from a clean slate? The original Windows team could still remain active for the short term and produce the types of updates that they have been in order to at least keep some reveneu from operating systems. This way the second team can work as long as they need until they have a good product. Even if the second operating system is a complete failure, which I don't see happening at a company with so many smart engineers, they would still be able to salvage at least some of the technology for use in the currect Windows code base. Microsoft spends a lot of money on R&D, so it doesn't seem completely far fetched that they would consider an approach like this. I know they have produced operating systems purely for research in the past (called Singularity, I think?), but why not create a second team to come up with something new, something that can avoid all the problems they've learned about developing Windows? The NT codebase won't last forever (at least I hope not), so I find it odd that Microsoft hasn't at least tried to start fresh again. I can't see NT lasting much beyond Vista and in a lot of ways I think it was a mistake to build Vista on top of NT. There has to be some point to break backward compatibilty and now is as good as a time as any. With ownership of VirtualPC, it wouldn't be hard for MS to run previous versions of Windows along side whatever new system they built, much like Apple did with OS X and OS 9.
  • by SwashbucklingCowboy (727629) on Tuesday March 28 2006, @11:04AM (#15010619)
    The NYT titled the article "Why Windows is Slow" - it should have been titled "Why Microsoft is Slow". The article talks about the slow delivery of new versions of Windows relative to Apple deliveries of Darwin. It's got nothing to do with the performance of Windows itself.
    • Re:Windows is slow? (Score:4, Informative)

      by The NPS (899303) on Tuesday March 28 2006, @09:26AM (#15009905)
      Ubuntu definitely ran more quickly for me than my XP machine. Not sure where you're getting that. In fact -- I've hardly ever seen an XP machine that runs 'great'. I remember when we upgraded our windows 98 machine -- it ran amazing 650 Mhz, 128 mb RAM -- I've never seen an XP machine run as quickly as that 98 machine of mine. (Not saying it can't happen -- it's just rare.) And christ -- have you seen most manufacturer basic loads? Dell, HP, Compaq, etc. machines are frequently nearly unusuable right out of the box, because of the garbage programs that come out of the box. In fact, currently my G4 Powerbook runs (1.5 Ghz) runs more quickly than my 2 Ghz Dell with windows XP.
        • Re:Windows is slow? (Score:5, Interesting)

          by shane_rimmer (622400) on Tuesday March 28 2006, @11:19AM (#15010713)
          Wonderful! Now taks a Windows XP disc with any service pack slipstreamed that you may want, reinstall the operating system on that laptop, and tell us how many of the special features still work.

          I am not against Microsoft, and I make quite a bit of money developing software for their operating system, but I have found that more stuff works out of the box on my systems with various linux distros than what works with a vanilla install of Windows.
    • by managementboy (223451) on Tuesday March 28 2006, @09:26AM (#15009909) Homepage
      well, try installting a year 2000 distribution on the stated hardware... works pretty fast doesn't it?

      Boot time again, try to compare hybernation not boottime. http://www.suspend2.net/ [suspend2.net] for Linux...

      I mean: apples and oranges anyone?
    • by bigdavex (155746) on Tuesday March 28 2006, @09:33AM (#15009950)
      They don't mean execution speed. They mean the speed at which Microsoft makes new releases.
    • by x2A (858210) on Tuesday March 28 2006, @09:54AM (#15010083)
      Legacy support could include being able to run DOS, Win16, OS2 applications, switch to realmode to perform some BIOS functions should the need occur, etc.

      There's also code in place to check for old pieces of software which wouldn't otherwise work with newer versions of windows, eg:

      I first heard about this from one of the developers of the hit game SimCity, who told me that there was a critical bug in his application: it used memory right after freeing it, a major no-no that happened to work OK on DOS but would not work under Windows where memory that is freed is likely to be snatched up by another running application right away. The testers on the Windows team were going through various popular applications, testing them to make sure they worked OK, but SimCity kept crashing. They reported this to the Windows developers, who disassembled SimCity, stepped through it in a debugger, found the bug, and added special code that checked if SimCity was running, and if it did, ran the memory allocator in a special mode in which you could still use memory after freeing it.

      (taken from http://www.joelonsoftware.com/articles/APIWar.html [joelonsoftware.com])

      These kinds of things are going to have an effect on performance, and an even greater effect on development time (windows, late again?)

    • Moreover, when Apple releases an OS upgrade, your old machine gets faster, not slower.
      Nothing bad about Apple, but that really isn't because their programmers are so much better than Microsoft programmers. It's just that Mac OS X was designed so horribly at first that there's really no way to go but up in each incremental release. It was only in 10.4 that they implemented somewhat fine-grained kernel locking (10.3 used two kernel locks: one for the networking code, and one for the rest of the kernel, while 10.2 and earlier only had one Big Kernel Lock).

      If you ask me, though, that's the right design decision. First you make a system that works according the specifications, and only after that should you worry about optimizations.

      • by NutscrapeSucks (446616) on Tuesday March 28 2006, @10:04AM (#15010162)
        First you make a system that works according the specifications, and only after that should you worry about optimizations.

        That's easy to say in 2006, but 10-15 years ago the "footprint" of the OS was a huge purchasing decision.

        Why do think Apple dumped so much money into Copeland? Because at that point in time, the average Mac had 8MB of RAM and they could never have shipped a Unix-based OS that required 64MB or so of memory.
    • Re:SnailSoft (Score:5, Insightful)

      by Frag-A-Muffin (5490) on Tuesday March 28 2006, @10:23AM (#15010294) Homepage

      Here's What You Need to Use Windows XP Professional
      PC with 300 megahertz or higher processor clock speed recommended; 233 MHz minimum required (single or dual processor system);* Intel Pentium/Celeron family, or AMD K6/Athlon/Duron family, or compatible processor recommended
      128 megabytes (MB) of RAM or higher recommended (64 MB minimum supported; may limit performance and some features)
      1.5 gigabytes (GB) of available hard disk space

      Mac OS X Version 10.4 requires a Macintosh with:
      PowerPC G3, G4, or G5 processor
      At least 256MB of physical RAM
      At least 3.0 GB of available space on your hard drive; 4GB of disk space if you install XCode 2 developer tools


      While we're comparing apples to oranges, I've got a few for you too. :)

      BTW XP was releases Oct. 2001? and Mac OS X Tiger (10.4.0) was released just last year? That's like 4 years. You've GOT to be kidding me? Have you seen what's changed in 4 years? Or are you still living in a shack somewhere with your 233Mhz Windoze box?

      Here are the requirements for slackware 3.4:
      3.4 (Kernel 2.0.33)

              * Intel 8086
              * RAM - 8 MB
              * Minumum Drive Space: 40 MB

      Man, your windows is so complex cuz it requires at least a Pentium.

      Here's the kicker, if you actually READ the article, it's not even focused on the running speed of windows compared to everything else. It's saying because of all the legacy support, that adding any features requires so much work and testing to make sure it doesn't break anything else for the last 20 years of windows programs. And because of this it's "slow" in terms of being able to add features or to innovate.

      If you want a real comparison, why don't you take the requirements for Vista which isn't even out, but might have some of the features Mac OS X already! And guess what the requirements for Vista is going to be?