Is the Linux Desktop Getting Heavier and Slower?
Johan Schinberg writes "Bob Marr wrote an interesting editorial about what many of us have have noticed lately: the three most popular Linux distros are getting "fatter" in terms of their memory footprint and CPU demands for their graphical desktops. Fedora Core 2 isn't usable below 192 MBs of RAM while Mandrake and SuSE aren't very far off similar requirements either. There was a time when Linux users would brag that their favorite OS was far less demanding that Windows, but this doesn't seem to be the case anymore. Modern distros that use the latest versions of KDE and (especially) Gnome feel considerably heavier than before or even than Windows XP/2k3. Sure, Longhorn has higher requirements than XP (256 MB RAM, 800 MHz CPU) and the final version will undoubtly be much more demanding, but that's in 2-3 years from now. For the time being, I am settled with XFce on my Gentoo but I always welcome more carefully-written code."
This is why I stick with slackware linux. It's still the cleanest smoothest runing linux distro I've ever used.
I can attest to this article.
My machine dual boots Win XP and Mandrake 9.1.
I'm using Gnome and sometimes KDE for Mandrake and when I'm in WinXP the system is a lot more fluid then in KDE or Gnome. I'm sure there are somethings I could to to tweak KDE or Gnome, but at least as far as Mandrake is concerned, out of the box, they drag ass!
Personally -- I prefer fluxbox's minimalism. It doesn't really matter what the distros ship with because at least you're given an option on going with a lean option or a feature-ridden one.
Massive networking attempt for friends
I use FC2 on my desktop at work and I'm often irritated by the long startup times for many apps. Although the machine there isn't anything special (P4 2.8Ghz, 384MB Intel onboard video, 40GB HD) it's a bit much to wait around 15-20 seconds for OpenOffice to load (yes, I do increase the memory settings), or 8 seconds for Ethereal (gui). Once things are cached it's not too bad, but still nowhere close to say MS Word's sub-second load time on the same hardware. I was under the impression that FC2 prelinked newly installed apps too, which should help to avoid these long load times.
;-)
It doesn't seem confined to Linux either; I use w2k as my main desktop at home (also have an FC2 desktop and Gentoo on my server/router) and opensource apps seem to have the same long load times. I won't compare Firefox to Explorer for obvious reasons, but the delay is noticable. I use Agent (a closed source usenet client) and it loads in 2-3 seconds for me, in contrast to Thunderbird email client which easily takes 3 times as long. This is strange since Agent has much more data to load (subscribed to 15 newsgroups, some very busy and so have thousands of messages - including bodies on disk).
Once apps are loaded in Linux or Windows, they perform well; It's just a shame that the initial startup times are the first experience you have of an app, and if you're drumming your fingers, it's not creating a good first impression.
That said, I still prefer Linux
Code, Hardware, stuff like that.
So I guess the term for Linux is "feature-rich" but the equivalent term for Windows is "bloated".
I know at least in the GNOME camp there is constant work on improving performance, and especially in reducing memory usage.
One thing you have to realize is that most users _want_ their desktop to do more. There's a reason only a small fraction of users still use TWM; it doesn't do what they want it to. And, if you want more features, you have to realize that it will require more resources.
That said, there is a lot of code out there that was written first to Just Work(tm) with little thought of performance. Good practice indicates that, while you should keep performance in mind, real optimization and fine tuning should be done last.
Current work for performance improvements in GNOME including sharing data between processes (say, icon themes), reducing system calls and X requests during startup, and general speed improvements in the various library calls used to make the applications actually work.
More help is _always_ appreciated. There are several Plans of Attack available from GNOME developers who know what needs to be done but don't have the time. If you want to help implement those the other developers and users will be quite thankful.
In light of the fact that w/o tweaking, fiddling, or thinking my XP machine routinely outperforms a supposedly much faster Linux machine on the GUI side of things.
I have a 2x400 Celeron running XP and a 1.8Ghz Celeron running Linux.
Linux is obviously more rock solid and has a lot less problems with forced restarts due to updates and whatnot but I just don't think it responds as well as XP seems to.
I know, I know, the Slashbotters will tell you that MSFT plays games with how apps load because they are partially in memory or whatever... No offense but if I have to take a small memory hit to make my apps load faster than a machine with 1/3 the speed then so be it.
I would recommend this Bob character and his friend try Xfce as Johan mentioned - it was not mentioned in the article. It's starting to become more popular and is well known for it's efficiency/speed, also included in the FC2 release.
# fuser -v
#
Everything will get much, much faster when Sun moves all Linux desktop applications to Java.
dinner: it's what's for beer
What an elitist load of crap. There is more to computer use than compiling your kernel over and over. Some of us use our "toys" to create spreadsheets, edit video, etc. Not everything is more efficient from the command prompt.
All in all you make a really crappy salesmen for Linux.
"What would you do with a million dollars?"
"Four terminal windows at the same time."
When I was running RH9, I obtained a TK script to monitor my CPU temperature, adjust the fan speeds, and display the current temperature. The display is tiny. In RH9, it took 57MB! I think that it should take less than 1MB.
In order to save some memory on my system, I started rewritting the script into C, using GTK2 (a good excuse to learn this library). After implementing most of the functionality, I found that it took about 17MB. I wonder how much memory it would use if I ported it to motif (or athena widgets).
Things are getting better. I just ran the original script on my now FC-2 system, and found that it uses 8MB.
I realize that some of the memory in use is shared with other applications. I am starting to wonder if we have lost sight of memory usage.
Where law ends, tyranny begins -- William Pitt
what is kdeinit for?
kdeinit starts KDE applications by forking and then loading them as shared libraries. Because kdeinit itself links to the kdelibs, it allows a much more effective sharing of kdelibs (and its dependencies) between the applications and avoids unneccessary initialization.
In other words, it reduces startup time and memory usage.
Because people keep insisting that they be as friendly and action-packed as a typical windows desktop.
As long as the powers that be insist upon making popular desktops do everything without the need of a shell window, then they are going to be bloated. I don't care how pretty KDE is, it actually irritates me when after a default install of it I have to go hunting through the menus to find the well-hidden shell.
This is what you guys get when you keep preaching that linux is just as friendly as windows so everyone should switch. You get the same kind of bloat windows has.
My flavor is Blackbox and/or Fluxbox, but you're spot-on about "my computer is a tool" thinking versus "my computer is a toy" thinking.
I wonder if it would be possible to do a lot of the "toy" stuff so many people like (or use by default) without the high memory/cpu requirements? If it's just a matter of having the stuff to explore and play with, you'd think something like xfce or enlightenment would take off. But the toy concept seems to go hand-in-hand with eye candy, so we need to load the alpha blending code, the anti-aliasing font libraries, the scalable vector graphics rendering engine, the bitmap skins, all that junk into core, then we need the cpu to juggle the fading in and out of tooltips, animated menus, and big chunky kparts modules, parsing xml for every little thing, all on top of the work the user's actually trying to do.
And yet, somehow all those "features" on Linux, end up using more memory and requiring more CPU speed than the Windows "bloat". An interesting point of view... to say the least.
;)
The fact is that on my home machine, in Windows 2000, I have more free RAM and faster boot up times _with_ IE loaded (if nothing else as a desktop/file manager), than in KDE _without_ Konqueror loaded.
There are no two ways about it. KDE isn't "feature rich", it's a piece of badly-programmed bloatware. Even if you turned off all the "features", it's still more bloated, slower and less user-friendly than Windows with all of that turned on. (In fact, even than windows with 6 pieces of spyware of your choice.)
Note that so far I'm only talking about KDE, not about Linux in general. Yes, I know, you can run another dektop environment. I'm writing this in XFce myself, so, yeah, I know already.
The problem comes when you need to load any app that's based on KDE. Then all the bloated beast is loaded into RAM. Not only then there goes your machine's RAM, you also get to wait several extra seconds for all that KDE bloat to load. Not "features", but hundreds of megabytes of pure library bloat, which you can't turn off. Whoppee.
Now say a friend tells you to also run some Gnome program. Whether it's Gnomeeting, Evolution or whatever, it doesn't matter. You're now _also_ loading the Gnome libraries in memory, alongside the KDE ones which already were making your machine swap. Whoppe. The RAM and CPU manufacturers must be doing cartwheels for joy by now.
Now also add Mozilla and a few others who can't just be a browser or whatever, they also have to have _yet_ _another_ set of their very own GUI widgets and bloated libraries.
Then edit something in OOo. OOops, yet another case of its own libraries. It can't even freaking use the perfectly good font rendering of X, it just has to come with its own font directory and libraries. And manage to look _worse_ than X's font rendering. (To its defense, though, it's just as retarded under Windows too.)
Well, not to sound only negative, here's my constructive suggestion for the day: if you're going to advocate Linux, might as well get a profit out of it. Buy shares in some memory manufacturer
A polar bear is a cartesian bear after a coordinate transform.
When I saw GNOME under development, I never thought to myself, "self, now that GNOME thing looks to speed things up". Never once did it even occur to me that all that PrettyFactor would be light on memory or CPU. Is the Linux Desktop getting heavier and slower? If you use GNOME or KDE or any other "user friendly" desktop environment, yes.
I've got a 486/66 at home running a mail / web / name / shell server. He's keeping up pretty well, but I must admit that console dselect takes a minute longer than I would prefer to start up. For his every day tasks, even keeping up with updates, it's more than enough-- so really, this is a question of the GUI end of things.
I wonder how well it would work to introduce one of those reviewers to a very well set up and themed tvtwm2 or whatnot. You know, without all the Kapps or Gapps. I bet the reviewer says it's snappy as a rubber band, but it doesn't do anything (most of those setups don't have any easy to find buttons, you have to click on a blank background to start anything). I think under that environment, Moz, OO, Wine, etc. work, but the plethora of free apps that make Linux interesting to the hobbyist seem to take advantage of the easy to use Glibs and Klibs. The reason for the "bloat" (i.e. heavier and slower) is the added functionality and eye candy.
You can take your lean and mean Linux Desktop, but don't expect it to run all the pretty apps nor expect it to have anti-aliasing and PrettyFactor3.0.
We all have 2GHz Intel machines with 256Mb RAM here, and XP definitely doesn't run comfortable, unless you have the patience of Buddha.
A student approaches his master and asks him: Master, how come my 3GHz Hyperthreaded four processor system with 2Gb of RAM feels so slow, yet I never hear you complain about your old 386? Doesn't it run slower?
And the Master responds: A hare will think the grass is dead, while a turtle might see it grow. A penguin on the other hand, doesn't even know what grass is.
The student was immediately enlightened, went home and programmed a web server on his Commodore 64.
I'm trying to adapt to Linux, but it's painfully slow. I've got a 300MHz K6-2 with 192MB RAM, but I'm going to have to try a slim window manager because KDE bogs everything down. My complaint is that it seems there aren't many window managers that are in a middle ground. I've looked at several of the smaller window managers, and they seem way too spartan. They're barely better than a straight Xserver. Can't you get wallpaper, desktop icons, a Start menu, and taskbar without the thing sucking resources like a sponge? That right click program menu is a waste of time because you have to minimize the apps you're running to right click for that menu.
We may experience some slight turbulence and then...explode. -Capt. Mal Reynolds
Err, no. I've used more window managers under various *nix systems over the years than I care to count including Openview, Motif, Openlook, DCE, fvwm2, blackbox, WindowMaker, KDE2, KDE3, and Gnome.
They all run fine if you shut off the extra eye candy, fade/slide effects, transparency, skinning images, etc.
There are no CD player docklets on my desktop, nor midi managers, MP3 rippers, or anything else that wants to periodically check to see if it needs to do anything. If I need it, I'll start the app required at that time.
In other words, modern window managers give you the option of leaving all the glitzy CPU-wasting eye and ear candy enabled, or you can have it fast. Even WindowsXP has the same problem -- you have to shut all the junk off before it'll respond with any kind of speed.
As to memory requirements, I'll just point out that the window managers being compared don't include all the audio and internet hooks that KDE or Gnome do. Modern users expect those hooks, and they take space. Get over it.
I do not fail; I succeed at finding out what does not work.
I remember about hmm back before Linux 2, the speed difference was in the handling of interrupts(Windows back then also had ridiculously small memory space and virtual space limits). That's over 8-9 years ago WindowMaker/AfterStep were actually more in vogue than the KDE/Gnome offerings then, who were practically "upstart projects", Sun's OpenWindows ported to linux was also popular back then. Then Linux 2 came up, it was faster, stable, then Windows basically caught up, then Linux 2.2 came up, and added many features, and optimised some things, but the difference wasn't as noticeable, then 2.4 came up, and it was a speed demon, except for X(which to keep up with the windows improvements, needed video hardware acceleration support). Now with 2.6, and hardware accelerated graphics on a powerful machine, Linux is still a little faster, but to see the difference, you really need to do what most people only do with Linux: remove running programs you don't use. In some cases, the difference is pretty dramatic. Of course, it never really shows in competitive benchmarks(which usually use bare-metal machines, not pre-junked seven themes, iconbar/taskbar needs two rows just to fit installations). That Linux is less vulnerable to software accretion, because of better package managers, may also be a factor, but with lots of people reformatting every six months, in both camps, clueful people almost never see just how bad it gets...
Windows 2000 is probably still the fastest desktop for use(Windows XP is optimised more for boot time), provided you have an uncluttered system, and relatively recent/fast hardware(which is one of the reasons Microsoft was pushing manufacturers not to OEM 2000 with machines for a while when XP came out, it made XP look bad). As for linux desktops being slower than this, It's quite possible, depending on hardware(as an experiment, you might want to try windows 2000 and XP(in client mode) in a vmware windows, compare its graphics performance to linux clients) So far my testing shows Linux reacts better(speed wise) to the virtualized hardware, because the Windows speed boost come with directly hooking into the hardware, but when they go through the vmware shim, the fact that the linux kernel is smaller/leaner makes it edge out recent windows(Win98se is faster in the vm(smaller), but predictably, less stable). (Linux in a VM is actually faster in desktop performance than native kde-cygwin performance on that box, for that matter) This on an Athlon 1800+ with 756MB RAM host.
The fact that it's easier for Linux to switch to a lighter/less cluttered windows manager than for Windows(LiteStep is good though
Running old distributions is not a great idea. Remember all those security notices that you ignored? Well, they didn't go away. Old (unupdated) Linux distributions make great targets for script kiddies.
TZ
- The "nobody needs a GUI anyway" elitists
- The "nobody needs anything more than fvwm/twm/WindowMaker" elitists
- The people who wish Linux was more like MacOS, only cheaper
- The people who wish Linux was more like Windows 95/98/2K/XP, only cheaper
- The "I use my computer to do stuff, not just recompile my goddamned kernel" crowd
I could go on, but you get my point. Nobody's ever going to be truly happy, and everyone's going to find something to bitch about, despite the fact that GNU/Linux/*BSD/Open Source/Free Software gives us all a frightening array of options that will allow us geeks to build exactly the operating environment we want. This is our reward for being the "smart kids," and the only thing it costs us is a little time and effort.Apparently, though, there are some who feel that somehow they're owed this level of flexibility, but with easy, one-click installtion, too, as if the latest installers should simply read our minds and know how we want everything configured. OK, maybe that's not the mindset - what these people actually seem to be thinking is, "my way is clearly best - why can't everyone just make it work like that?" Grow up, people. Seriously.
FWIW, I just installed Mandrake 10 on my 400 Mhz PII (256M RAM, 60G total HD) at home. For the first time I decided to make a real effort to use my Linux box as a desktop system. For the most part I've been extremely successful. The vast majority of what I use my PC for is net-related, and 98% of what I did in WinXP I could do in Linux. I was already using Mozilla as my browser and e-mail client anyway, etc. But there was absolutely no doubt that KDE runs slow as ass on a system of that vintage. I look forward to the day when I can just drop $500 or so on a nice, cheap 3 Ghz system to replace that old dinosaur. But for now I'll continue the experiment and enjoy life in Linux-land, despite the fact that that old machine would run Win98SE a hell of a lot faster than it runs Linux/KDE right now. If I really need to I can fall back to my 1.1 Ghz, 512M RAM Duron running XP.
I've read most of the comments here at my default +5, and I have to say, I don't see how so many trolls and blatant lies got modded so high.
I know what you're thinking. You're thinking "oh, he's just another Linux elitist who's going to condenscedingly tell me what to do." And you would be wrong.
I'm not going to tell you what to do. I'm going to tell you what *I* do, and see if I can make any sense of the garbage that's getting posted here.
I use Debian GNU/Linux (isn't it obvious from the sig?). Stable. Not unstable, not even testing. With a 2.4 kernel on P4's with a minimum of 512MB of RAM. And they all fly.
I program. I write software for Navy weapon sims. I write software for my company on the side. I play NeverWinter Nights on my machine with an ATI Radeon 9700 Pro, while scanning photos, reading email and administrating the servers for my company and personal use. All of this flies, and [Microsoft] Windows doesn't even compare. And yes, I use Windows (ever heard of NMCI?). MacOSX? Don't make me laugh; I've used it, I've programmed in it, I used to administer a whole lab of it. It's slow and buggy. GNU/Linux runs fast and smoothly on the exact same hardware. GNU/Linux doesn't crash (unless I'm doing some obscure kernel hacking), and it doesn't "stutter" when I'm playing MP3's while image editing a 500MB file in GIMP.
GNU/Linux allows me to do more and more things at the same time. GNU/Linux makes things possible that I never would have imagined possible on Microsoft Windows or Apple Mac OS X.
But you know what? None of this matters. The only thing that matters to me is that GNU/Linux is Free as in Freedom.
I don't know why you guys are having so many problems with GNU/Linux. All I can say is that I've had worse with Windows an MacOSX, and even if I hadn't, I would _still_ use GNU/Linux, because it's Free. Fortunately, in my not so humble experience, GNU/Linux is better in every sense of the word.
Nathan's blog