Post a Comment
While i agree about the bloat, this phenomenon is not exclusive to Microsoft. For example OS X and Apps consume RAM and CPU-Power like mad, too.
Some bloat may be explained by advanced features of certain apps or OS, some may be no optimization in code or concept at all.
Edited 2008-04-15 20:24 UTC
Some bloat may be explained by advanced features of certain apps or OS, some may be no optimization in code or concept at all.
Indeed, the "bloat" is universal and not only due to advanced featores or no optimization but often due to frameworks decreasing development time.
Of course everything ran fast when developed in c or assembly, but when you start using java or python or whatever, development costs go down and speed decreases (which is offset by hardware improvements)
Hopefully Moore's law decline will bring back the great coders from the 80s that used to be able to write a real time 3D game for a monochrome 8bit microcomputer with 64 k of addressable memory.
If people cannot just upgrade to a new computer, fast programs will be profitable again.
Linux, Apple and Microsoft will have to change their ways.
If people cannot just upgrade to a new computer, fast programs will be profitable again.
Linux, Apple and Microsoft will have to change their ways.
Linux is not "one size fits all" unlike OSX and Vista.
Linux runs on mainframes and all the way down to mobile phones, photo frames and even wristwatches.
http://www.freeos.com/articles/3800
http://www.top500.org/charts/list/30/osfam
As for speed and lack of bloat on desktops running current versions of applications:
http://www.puppylinux.org/user/viewpage.php?page_id=1
http://www.zenwalk.org/
Small correction: Apple and Microsoft will have to change their ways.
A Debian 4.0 Linux install (current stable release) runs on my 1.2 GHz single processor Athlon (bought cheap in 2003) with 512 MB RAM quite satisfactory.
At my workplace I have to use a Windows XP on a 3GB double Dual Xeon with 3 GHz, which should have approximately 6 to 8 times higher performance. But in reality it "feels" like being only 50% faster. It is easily outdone by a Linux computer which I also can use at work with a dual 2.5GHz P4 setup.
No, Linux already has a different way, and that is: Choose your level of bloat!
You want 3D effects and all the graphical whizbang you can think about? No problem, if you have the machine for it, go for it.
You want to have a decent low-cost Office+Internet machine with limited RAM? Get a stripped down, optimized for speed Distro.
Today I can put myself a quite silent PC together with a processor which has similar speed as a 1 GHz Celeron, 1 GB RAM and a 100 GB Hard disk for as much as EUR 250,- (including Software).
True, but one generally has to out of one's way to make C or Assembly code run slow - at least once one gets past the learning curve (but even during the learning curve it can be hard to do so).
Oddly enough:
Case in point: GNOME
:-)
That said, Linux is not immune to the 'bloat' either. In fact, F/OSS can sometimes be worse at bloat because every developer chooses their preferred system to build upon (Qt, KDE, Gtk, WxWidgets, SDL, Motif, X11, to name a few) so you end up with a lot of duplicated effort.
Granted, under Windows you have everyone and their brother providing the same copy of the same library all over the place (b/c of how Microsoft handles library versions - e.g. mfc42.dll, mfc60.dll, mfc71.dll, etc. - or rather, the lack for proper support of it).
Sadly, this is true for most modern Linux distributions and modern Linux / UNIX applications in general. In some cases you can say: You cannot take advantage of faster hardware and grown ressources because they are squandered by underlying OSes, libraries, or the grown requirements of the said applications.
Furthermore, I agree to your last statement. I thing some developers don't care about optimization of their own code ("Hey, it runs fast enough on my machine!") or they simply rely on the functionalities provided by a library that they just have to include and call functions from, so existing bloat is "inherited", and they don't care about it.
Another thing is the tendency to integrate as much functionalities into one application / an OS as possible.
In a result, there is a imaginable quotient:
hardware ressources
---------------------------------- = overall usage speed
application requirements
Due to technical development, the numerator increases, and due to bloat, the denominator increases, too. The quotient seems to stay the same over the years. Yesterday's applications are as fast on yesterdays machines as today's applications are on today's machines. To benefit of the faster hardware of today, you seem to need to run older software on it. Simple math. :-)
There's a difference between utilising new hardware resources as they become available, for example, Compiz, the new KWin and various 3D enhancements that have been made, and wholesale requiring said resources and then eating them. I don't know of any distribution that has the graphical hardware requirements of Vista.
Vista basically requires at least a couple of gigabytes of RAM if you want to run any applications at all, especially Office 2007. I don't know of any Linux distribution that has that requirement to run well. If XP ran well on it then a Linux distribution certainly will.
Heck I'd go further than that, I have an ancient Dell P3 128 MB ram 500Mhz laptop that originally had Win98, but is now running plain Ubuntu 7.10 installation. No trimming of unnecessary startup items or config options to turn off. I left font smoothing on, have CPU, Mem, & Net meters and weather applet running at boot, and it is still highly usable. I can do about three applications at a time before it starts chugging.
As far as the rest of what you said, yup. Totally agree with you.
As far as the rest of what you said, yup. Totally agree with you.
Same here.
Using CentOS5 to power my 12 (?) y/o Dell Inspiron 7000 (PII366/256MB) machine.
FF2 (custom build) is a big sluggish, but this problem should be solved once FF3 hits the mirrors (RHEL/CentOs 5.2 update)
OpenOffice takes ~30 seconds to start, but works just fine once loaded.
Granted, I'm using a low-weight DE (IceWM + iDesk) - but that's the beauty of Linux!
- Gilboa
Your hitting the nail on the head. There are other issues as well, most programmers find it difficult to take advantage of multiple core CPU's which seem like the direction that CPU manufacturers are having to go in as clock speeds are not increasing like they used to. Hopefully the problems programmers are having will change, but its going to take some effort on the coders part. Some will get better and they will probably see improvements in market share because of it. I think users are at a point where they have enough with simply adding more features and would like to simply have the OS or application developers work more and more on getting the product to be more responsive.
Some bloat may be explained by advanced features of certain apps or OS, some may be no optimization in code or concept at all.
Actually, each major release of Mac OS X has become more efficient and, for most people, has run faster than the previous release on the same equipment. Leopard (10.5) seems to be the exception for me, as it runs significantly slower on my not so current machine than Tiger (10.4) did though the Intel-based machines are doing much better with Leopard.
RAM usage has been pretty consistently high, but Leopard seems to be higher than previous releases. You could always get decent performance out of a Windows machine running applications with only 384 MB while a PowerPC machine would need double that.
Bloat is inevitable as people have forgotten how to write efficient code and depend solely on the compiler's optimisations to make things better. There was a time when that worked, such as IBM getting better performance out of Win31 within OS/2 by using the Watcom C compiler. Microsoft's version 5.1 C compiler often had to have optimisations disabled to produce correct code.
Apple is a hardware company so here's my take on what happened. First of all, mac os x started out very slow. They were still on ppc at the time and it was looking really bad for them as that cpu just couldn't keep up with intel. So they had a huge push to optimize their code on the one hand while claiming that the ppc was somehow better than x86.
Now, mac hardware is basically like pc's so it is apples to apples. They don't need to worry about being slower than Windows anymore so they add features to show off their stuff.
My own anecdote:
Microsoft Office 2003 under the latest wine starts waayyyy faster than the latest OpenOffice on my Ubuntu Hardy system. Not only that but its just a much more responsive and effective piece of software.
Something to think about.
Edited 2008-04-16 04:26 UTC
Microsoft Office 2003 under the latest wine starts waayyyy faster than the latest OpenOffice on my Ubuntu Hardy system. Not only that but its just a much more responsive and effective piece of software.
Something to think about.
My anecdote:
Any part of OpenOffice under Linux opens in roughly the same time as any part of MS Office under Windows XP on the exact same dual-boot machine, and faster than any part of MS Office under Windows Vista.
Any part of KOffice under Linux opens waayyyy faster than any part of MS Office under Windows XP on the exact same dual-boot machine.
Any part of GNOME Office (Abiword+Gnumeric) under Linux opens waayyyy faster than any part of MS Office under Windows XP on the exact same dual-boot machine.
Have you tried OpenOffice.org Quickstarter? Or other configuration options to make OpenOffice work faster? See, for example, here: http://www.zolved.com/synapse/view_content/28209/How_to_make_OpenOf...
Have you tried OpenOffice.org Quickstarter? Or other configuration options to make OpenOffice work faster? See, for example, here: http://www.zolved.com/synapse/view_content/28209/How_to_make_OpenOf... "
Or, if your system has a good amount of memory and you aren't using it to capacity, you could enable preload.
http://www.osnews.com/story/19385/Preload:_the_Linux_SuperFetch_Pre...
http://www.techthrob.com/tech/preload.php
That will speed everything up, not just OpenOffice.
I'd like to know where you are getting your facts from.
Seriously...
I run os x leopard server on a 9 year old apple g4 450mhz cube w/ 1.5gb of memory
It runs like a dead dog. Yet it still runs better than 10.4 Tiger server did (and even that was usable as a server)
Sure, I cant use 3D graphics stuff... but then I do only VNC into it. Also the transparency effects are disabled... but hey *shrugs*
Point is, it still runs faster than tiger, yes it does have the alex voice bloat (600mb single voice library) but what is a cd amongst friends?
I'd LOVE to see how Vista ran on equivalent hardware .. oh wait, it wont!
Vista running on almost 10 year old hardware? just not going to happen is it?
I suspect OS X is on par with Windows XP and perhaps less than Vista in regards to memory consumption in a non scientific sort of feel I get from using the two systems. I also figure at least with XP and Mac OS X that most new systems have more than enough memory for the majority of users. I sort of assumed Mac OS X would be more hungry, but they have made great leaps in memory management from 10.0 (they HAD to, it was awful slow), and I keep an eye on memory consumption in Mac OS X. I have a gig of ram in my G5, and I have not used all the memory while doing development work in XCode and the usual things like checking email/web etc that most people do, so I am pretty happy with it. It seems to hang around the 500 meg mark or so max. I think Windows feels about the same. I do notice that the mac double buffering the windows may make it seem a little slow or unresponsive on occasion, but I like the way it draws its stuff (especially the PDF quality of the graphics) and am willing to accept that VS Windows, which does seem like a mishmash in comparison. I don't see that as eye candy which I often hear people state, its more of an elegant way that the windows are drawn VS Windows. Some people could care less. Vista may have improved that, but I had so much trouble with drivers I went back to XP. I also like Linux as much as Windows, so I use that whenever I can. The biggest problem I see with Windows is virus/malware and all that. I am not a fan of having to run all this stuff to protect my machine. That problem may come to Mac in the future, but right now it is not as in your face so that always feels like a relief and is a plus. I do have problems with task management in Mac VS Windows. Windows, especially sound stuff seems to have less hiccups and problems. This may have more to do with Mac OS X not getting the best drivers, but I can do more sound stuff on the Windows box where the Mac one seems to hiccup. I really don't like flamewars and arguments about what system is better. I do think what is out there gives much more then old systems which used less memory/cpu. I do agree with the feeling that all of this could be MUCH faster and more responsive, but I suspect that making programming more reusable and general purpose is at least one factor that led to bloat in code. Concurrency in programming is going to become more and more of an important tool to combat this VS trying to get higher clock speed.
It's a lack of love.
When only a certain number of hours can be spent on a piece of software because money dictates that so, then it will only aim to be mediocre.
No programmer personally wants to write awful code. It is within us to naturally try our best. Whilst we may not always do our best, we do learn.
If you've had that love bleached out of you from too many deadlines and "meetings", then software is clearly going to suffer.
Vista is the product of a mismanagement nightmare; and it shows. Firefox 3 is a product of love, and it shows.
lack of love comes close, but i think it is more a lack of proudness. nobody is proud of their software or hardware nowadays (except maybe in the game console area).
in the old days people wil show how cool their amiga/beos/c64 is, nowadays people say : "it works good enough".
i think it has mostly to do with the fact that small teams don't cut it anymore and more managers are involved. therefore dream projects and visionary leaders are a thing of the past. except for apple with prophet steve.
Well, how about I say Internet Explorer instead? It's just as true is it not? Vista is a disappointment, such a disappointment that this Windows user for life switched to a Mac. I think the "bash" is well founded in the three years of following Vista to within an inch and then finding it out to be a giant bloated piece of crap.
There's another reason for bloat in applications written in object languages. You've got a lot of ready-made functions at you disposal. Let's say that everyone is O(n). Combining them makes an elegant, but slow piece of code. O(n^2) or so.
I have seen Smalltalk one-liners that calculated something in O(n^2) while it would be trival to do the same in O(n) but in 5-10 lines.
Sorry no. That's not how it works at all. In general, existing functions are going to be more optimized and less buggy than what you write yourself. Yes it is possible to optimize for specific cases, but that has absolutely nothing to do with algorithm complexity. Read up: http://en.wikipedia.org/wiki/Big_O_notation
That's because most of the time these sorts of optimizations don't matter. Premature optimization and all that. Optimization needs to be weighed against code complexity and development time. Most of the time it's not worth the effort. The only proper way to profile is with a profiler. Futzing around optimizing random steps of your code is a huge waste of time.
Usually, but not always. Some string algorithms in PHP are naive.
Maybe such situation is not very common, but possible. I know what O notation means.
Usually, but not always. Some string algorithms in PHP are naive.
"
That says a lot less about using existing functions than it does about how sh*t PHP string algorithms are.
That says a lot less about using existing functions than it does about how sh*t PHP string algorithms are.
That's for sure. Anything written in a language that is >20x slower (Perl, Python, PHP) than C/C++ should be instantly rejected by users on those grounds alone. And a language as slow as Ruby shouldn't have any code outside of toy programs written in it. A couple extra language parlor tricks (which as an end user, you don't benefit from anyway) aren't worth turning your 3Ghz P4 into a 300Mhz PII.
See for yourself: http://shootout.alioth.debian.org/
Vista+Office 2007+IE7 is slow on *any* machine and resource hungry that's the bottom line. I remember discussions *cough* on here about gnome vs XP's mythical "fresh install" and how they run in 256mb. The bottom line is alternative products simply are less bloated[sic] than Microsoft's offerings or even earlier incantations of its own products...its not even news. The reality is their is very little to gain for the user on a Vista+Office 2007+IE7 vs one with Microsoft 2000+Office 2000+IE6. The only thing up for discussion is whether features added between versions actually make enough of a difference to warrant the resource increase.
The bottom line is for those that are technically able, or are able to use alternatives they are voting with the money by buying eee pc's and Apple computers, and the trend is set to continue. That's ignoring the many hundreds of millions that are holding off upgrading either because they don't have the money; want to make better use of those they have; or simply are locked into an earlier version due to technical limitations oddly one of the few reasons these products sell...that and and the crapware(Microsoft slang not mine) installed on Vista.
The answer that a new smaller version may appear between 1-4 years time is simply not a good enough answer.
XP needs more memory to run smoothly, this I won't deny, but if you double that you will notice that XP is doing something with that "bloat". You must disable the useless themes and eye candy for both of course. Also, don't use (anti)Viruses, they are malicious code in case you didn't notice.
A real case: XP SP2 vs Debian Sid hand-picked XFCE Desktop in a 2.6GHz no-HT P4, 512Mb of RAM, ATI R200(OSS drivers available). With XFCE the speed is comparable, yet the Linux system, using the same OSS applications, feels consistently slower and less responsive. This also applies to text-mode apps such as GCC vs MINGW.
The disease in Vista is called bloat and Linux and the open source world in general have caught it as well - even if it is in a less severe degree.
Sun's Writer 2.3 is at Word 6.0 level in functionality yet runs slower than Office 2003 because it has been written in 2008.
Don't get me wrong. I criticize OSS products because I want them to get better. I am amazed at how far the Linux Desktop has come, but I hope every large OSS product gets an Optimization, Redesign and Rewriting department to clean up the mass destruction that the creeping featurism has brought.
1) disable cpu throttling, almost all distros do it to conserver energy/heat..windows only throttles if you use a laptop profile. BIG SPEED DIF
2) while out the gate day one they are certainly comparable, XPsp2 is very nimble out the gate, problwm comes with the config rot. Normally goes like this:
Day1: Fast as hell!
Week1: Fast as Heck!
Month1: WTH!
windows is highly sensitive to config fot ad uninstalling/reinstalling, configuring, eventually takes it's toll over a few months and you machine runs 1/3 as fast as before if you're careful.
So while I agree, XPsp2 VS Linux out the box, XP makes a VERY impressive statement, virus or a few bad installs later, you headed for reload land.
I'm calling bullshit on this one. Ever used something like 'git' on Windows? or any other heavy shell script on MinGW? it's f---ing glacial. The way Windows is designed, processes are expensive to create, and shell scripting creates hundreds of processes.
On Unix, according to a benchmark I did a while back, fork()ing a new process from a warm cache is only slightly more expensive than creating a thread (and in the old days of LinuxThreads, they were actually 100% equivalent). On windows, threads are order of magnitudes cheaper than creating processes.
Simply based on design issues, it's impossible for MinGW programs to be noticably more responsive than the equivalent programs on Linux.
huh?
- MINGW is the Windows-native version of GCC.
- MSYS is the "good" shell replacement derived from Cygwin to ease compilation of "portable" apps.
- Cygwin is the slow and cumbersome POSIX emulator you need to run git and to compile and run some other ""portable"" apps. git is slow on windows because it needs POSIX functionality not available in windows to run.
- If you read the git FAQ, you will learn that the scripts are being translated to C so that git can be a native app too. So, if you wait, it will be at least as fast as the linux version.
finally,
- The make process shouldn't be spending more time in scripts than in actual compilation.
Talking here from a fresh install of SMGL with Gnome 2.22 and Firefox 2, currently the entire system is clocking in at 197MB of used memory. But then this isn't any ordinary system, all software was compiled and optimized correctly for my system.
The same setup on Ubuntu would use about 400MB, and my other computer with Paldo Linux starts up with about 300MB used (with Firefox).
If distros wanted to/had time to, they could optimize their releases a lot better.
Edit: I should also mention that the SMGL install in blazingly fast.
Edited 2008-04-16 00:06 UTC
A friend of mines bought a new Vista Home Premium laptop and had no office suite on it.
I suggested Open Office and they tested Microsoft Office the latest.Said it was too bulky and slow with only eye candy.
Took me up on the Open Office suggestion and is very happy with the snap and response.They are even looking forward to the upcoming release.
The bloat is gone,
Like snow in spring,
Haiku there is.
http://www.haiku-os.org/
You're kidding me, right?
I get -horrendous- performance out of Ubuntu 7.10 on my dual P3 1gzh, 512MB, plenty o' disk on UWSCSI box at home. Oh, with GeForce FX5200, compiz enabled.
If I disable compiz, I can -watch- the windows draw. Enabling compositing at least delays the update until the offscreen buffer is drawn to then does a quick blit operation. There's still a lot of lag, but at least it's a fixed amount of lag and I don't have to watch dirty regions on the screen redraw.
BeOS and Haiku on that box both perform better. Go figure.
Heck, WinXP runs better.
I'm an avid OS junkie, but the claims that Linux (especially Ubuntu) is happy as a clam on old hardware are bunk. I'd rather have my old 400mhz G4 with Panther back than have to run Ubuntu on my dual 1ghz box.
I was thinking of the bare system booting and then navigating through folders, using the tracker, using netpositive and the other stuff.
By "lacking most apps" i meant the apps i would like to have on BeOS like Photoshop/Quark/Freehand which were my main Apps these days.
But compared to my Apple BeOS was faster, more fluid, for example using the tracker. The whole experience was fluid, compared to other OS back in the day.
I thought this article seemed familiar..
http://www.osnews.com/story/18931/What_Intel_Giveth_Microsoft_Taket...
looks like a re-publishing of the blog entry that was posted on here late last year
I just look at (say) the Gnumeric spreadsheet compared to Excel. Gnumeric is lightning-fast and has all of Excel's functions plus 150 that Excel *doesn't* have.
About the only thing that Excel has (that Gnumeric doesn't) is pivot-tables. Even they may be taken care of in the latest SoC - see here -
http://live.gnome.org/Gnumeric/GSOC2008
As for MS Word, that's pretty bloated too. Abiword is a nice lightweight replacement.
I agree, however, with those who say OO.org is bloated too. The code for that could indeed do with some really serious pruning... :-)
Edited 2008-04-16 04:32 UTC
yes, gnumeric is great and has been so for many years. Sadly, Abiword, its word processing counterpart never caught up with it. Else they would make a great duo on the GNOME desktop and make OpenOffice unnecessary for all those who do not need presentations. I for one don't.






