This doesn't make a whole lot of sense. No, no, I'm not about to play down memory consumption as an attractive means to a fast UX. I see a point there: Accessing that memory will take its time, being it RAM or not. However, memory consumption is a bad metric. One back-buffer of the background image, if any present, will make a difference of some megabytes.
The most important part, however, is to shed light on "memory consumption" and how to measure it. The latter is a hard, hard task and there are odds in the game. The values given by "free", specifically, are only a (bad) indicator for the full system. E.g. have a look at those "buffers" and "cache" values. A lot of factors play a role: filesystem (c.f. btrfs vs. ext2), allocator (glibc?), sharing of dynamic libraries. I would specifically emphasize the last one: When you're about to run mostly GTK based apps, you will probably profit when your desktop has already pulled all GTK related dynamic libraries into memory (e.g. GNOME, XFCE). Whereas some minimal window manager might have a small memory footprint because it merely uses the Xlib/Xcb - an advantage over the moment you start Firefox or GVim. Or you might want to use Qt based apps - and that may profit from a desktop that pulled Qt in before (like KDE and others).
Having a compositing window manager also makes a difference memory-wise.
This said, pure code footprint _could_ be measured. It would be a hassle though. And in the end, the real noteworthy differences are those you can measure in actual time passing. Be sure to not only measure start-up, though.
Xorg + a few fonts is more "heavy" (in memory numbers) than the 90% of those dm/wm,
There are tools like x11perf, glxgears, and more, and at the end of the day, you cannot compare "fluxbox Vs a desktop environment", because you should be comparing fluxbox + cups + a desktop search indexer + a graphical filebrowser + a calendar service + this + that + ...
It's nice to see "the data", as "numbers", but you make a proper point about how it should be interpreted.
When I had more spare time (this is more than 14 years ago), I did test a lot of desktop environments. I did start with kde 1.X, and have use many version of many desktop environments and WMs... my tip is: pick the one that makes you "forget about it" and focus on your tasks.
Now living out of home and al the hardware I carry, and have access does not have any problems. When I loved at my home, I had recycled computers, and repaired by me ones, and if it was not ok for a graphical ENVIRONMENT (I don't care if I don't swap after boot, I care if I swap WHILE USING) I just did use such machine as a "headless server" and everybody is happy.
Other approach to low resources machines as the blog seems to talk about, is to enable remote login (xdm, gdm, kdm, whatever) on a powerful machine, and use the old one to just launch the X (raw) and the remote login/desktop client in full screen.
A few years ago, I did see this numbers on my own for the environments I was interested, and people used to tell me "xfce is light!!!", obviously, they did come from lighter environments, maybe because they were used to heavier desktops. I was used to fluxbox.
I was used to _forget_ about the WM and the backgrounds, and focus on useful things (unless you are preparing a your screen for a Hollywood film or something like that).
I just ask a responsive workflow. Most system do not provide that "by default" and you have to "setup", "cleanup" or "shortcut"... you can do it in many ways at many layers.
I like fluxbox by the following reasons: we did meet years ago, recycling computers with low resources, I did learn the configuration (behavior and keyboard) in half an hour and a few days of tweaking, performance/resources never was a problem, I did forgot about "it" and "it" did let me "do stuff". Until today this never failed/changed. That are my "numbers", I'm a happy customer.
My ram is fast. My disk is slow. I want things to be in ram to be ready for when I need to use them.
The amount of ram a software uses seems like an odd metric to use, especially when the ram hungry beasts mentioned in the article use less than 250 MB.
I don't think the problem with the more hefty window managers is that they use a lot of RAM, but that they have to use a lot of RAM.
IMO, the fact that they require more memory can be considered a reasonable indicator that they are more complex / do more stuff. They need to read stuff from disk / generate data in order to fill that memory in the first place, which takes time. I'm not an expert, but I would guess that using more memory also increases the chance that some of it will be swapped to disk by the OS, slowing things down further (although only intermittently).
I guess I don't see the contradiction: given finite memory, you'd want as much for your applications as possible, right? We don't buy computers to run window managers, after all. And even if 100MB seems 'small' nowadays, it's as valid as ever to point out that maybe that's 100x more memory usage than some other piece of software.
Besides, it's interesting to see that E17 is hardly 'lightweight', and XFCE is actually 'heavier' than MATE. WindowMaker (woo hoo!) is surprisingly 'lighter' than Awesome. I'm glad it will cut down on the X-is-slow-use-Y-instead-it's-lighter crap. Hearsay and fanboyism are endemic to linux wms, it seems.
I think they are just trying to figure out which WMs are most memory efficient.
You and I know as geeks that irrespective of real-world use, metrics and numbers are a good thing to throw around and make us seem smarter and more efficient than we actually are. :D
I was intrigued by the results - but will still keep using Unity myself (I love Mate/Cinnamon too) though its second last!
It is a good metric to use precisely for the reason you state. You want your applications to be in RAM. You want your files to be cached in RAM. You have finite RAM. The less RAM your system is using, the more is available for applications and files.
Just came here to say: i3 is really nice. It's too bad he didn't mention it, it's one of the more lightweight WMs in his bar chart.
If you haven't tried it, give it a shot. Was always intrigued by tiling WMs but resisted for far too long because of a vague resistance to learning yet another set of keyboard shortcuts. Seriously though, it's not bad at all.
The only issue is with certain java-based applications such as PyCharm or Arudino IDE, in which sometimes the windows aren't drawn correctly due to the JVM not playing nicely with "non-reparenting" window managers (such as i3).
I'm curious why you choose i3 over Awesome or Xmonad. I recently started playing with tiling window managers myself after I saw a i3 presentation on Youtube. When started looking into it I found much more documention on Awesome wm. That's why installed that one on my machine.
I had to use my daughter's modest ASUS AMD C-60 All-in-One (2 Gb RAM) until I could find a replacement for my laptop. Using Ubuntu's Unity with a LAMP and/or Rails stack sometimes brought it to it's knees. Switched to i3 and it was like having a new PC. No kidding.
Up until December 2009, my main computer was a desktop we'd bought in 2000. At some point, we had upgraded it from 128MB of RAM to 384MB.
That last year or so, things got rough. I was really pushing the limit of what it could run without feeling unreasonably sluggish (with pretty normal workloads of browsing, IM, and either word processing or Ruby coding). First, I switched from Firefox to Opera. Then, I switched from Gnome to Xfce to IceWM. This made a world of difference, and I really didn't miss Gnome. It got me another 6 months+ out of that computer without being terribly frustrated all the time.
In most cases, on a modern computer where you have multiple gigabytes of RAM, I agree with you. But it's still nice to have those tiny window managers around.
To me, the main take-away from the article is that there's more to life than KDE/GNOME, especially given the number of comments showing that the alternatives do have real users. If we apply that logic to browsers, we find that there's more to life than Firefox/Chromium. For example, I'm writing this from w3m running in XMonad at the moment :)
To a Very crude first approximation, you could expect KDE to be 201 times slower than ratpoison, or rephrased you could have 201 times less user latency using ratpoison than KDE. Or ratpoison gets out of the way of the user "two hundred times faster" than KDE so for the average user it would be about that much more productive, with a correction factor for whatever proportion of time users play with WMs/desktops vs doing actual work in an app.
Also there's a fair number of machines out there, used for non-web browsing purposes, yet might still have a use for a GUI.
Lets say you want a virtual cloud host, connected to via VNC to ... linode. The smallest linode is a gig, so you'll be using 1/5 of your total resources just for the window manager if you use KDE. Is that relevant, well only you can decide.
Finally the most interesting part of the graph was the exponential-ish nature of it. For some weird reason I was guessing WMs/Desktops grow vaguely linearily over time so a random sample from random aged WMs would be vaguely linear when graphed... that's not whats happening. Have not come up with an adequate mental model to explain the shape of the curve yet, assuming the data gathering wasn't manipulated to specifically generate it. Maybe its an attractor effect where one pole pulls to 0 or as close as you can get, and the other pole pulls to infinity, or as close as you can get (kde) and everything smoothly distributes in the middle ground.
I use ratpoison, the 1MB window manager. I'd still use it if it took up a 1GB or whatever because it still is my favorite wm. The low memory footprint is a nice perk, specially when it's running alongside memory hogs like firefox.
because it _is_ better, without all unneeded bells and whistles.
besides, a browser is not the only app you run, right? If not go and buy yourself a tablet, and don't use PC, as you don't need them.
I had a nightmarish scenario a few months back where I was just trying to wipe an old hard disk on an old laptop that still barely worked, so that I could ship it off to an electronics recycling place. It was I think 512MB of RAM but might have been less; but a few popular Linux LiveCDs wouldn't boot without running out of RAM, and my `prng` script uses Python3 among other things. After trying desperately to set up swap on a thumbdrive before the computer ran out of memory, I eventually just caved in and went to a comp shop to find an external hard drive case for old laptop drives. I was lucky, found one for relatively cheap, and wiped it from my own computer. And doing that sort of command from your own computer is quite terrifying even if you think you've taken the proper precautions, you're still double-checking everything to make sure that /dev/sdb is really where the random bits and then zeroes should go.
So these articles are appearing a little after I'd have liked to see them but they're a welcome overview in any case. :D
I wanted to get some data off an old Windows 98 laptop of 1999 vintage. 4Gb hardrive, 1 usb port, 64 Mb of RAM. It worked fine in Windows 98, but back then anything USB required extra drivers and ... well, let's just say I didn't think re-learning Windows 98 at this stage in my life was a worthwhile investment.
In the end, I used Damn Small Linux live-booted off a CD and copied the whole drive to a USB stick. Took hours due to only having USB 1 back then, but it worked. Your external drive case is a better solution, but the "old distro" approach is great for cheapskates :-)
My point is that not everything needs to be small. We have freedom of choice here, not one-size-fits-all, and we can create specialized distros for specialized tasks.
I like how the author editorialized about the RAM use of Unity ("Too bad it runs in 192MB of memory! It would be a good idea to trim it down, let’s say by 50%. As a note, DOS conquered the world by running in 64KB of memory.") yet said nothing about KDE's, while KDE in "bare minimum required" mode required more RAM than Unity did.
I've really enjoyed using stumpwm: not only is it a tiling WM like ratpoison (in fact, stump's a successor to ratpoison, written by the same guy) or xmonad, but it also means that I always have a full Common Lisp running, which I can connect to in emacs via SLIME.
It's not quite as good as a Lisp Machine, but it's better than nothing.
I use XFCE because I run debian in a VM inside MacOS and I don't see much reason to run two RAM guzzling window managers (I have lots of RAM so I can run scientific code that often needs 4-5GB at once, mostly for python code I intend to optimise when I have time). At 70MB by this measure, it seems like I made roughly the right choice for a window manager that leaves me lots of other space free for 'real' data (but still loads enough of GTK to run Eclipse as my dev env.)
I'ts weird to say this, but I actually quite like the interface of Windows Vista and up. Xfce and the likes always were enough for me. But there is one tiny little feature I miss. Sortable windows on the taskbar.
I guess one day I have to write my own window manager and taskbar adding to the huge amount of stuff that's already out there.
I'm very happy with xmonad. I'm running a very minimalistic desktop consisting of fast applications that do one thing, do it well, and can be controlled from the keyboard (zsh, urxvt, emacs, remind, mutt, zathura...).
As a very welcome side-effect, the whole thing is very light. It runs in a few tens of MB.
As an aside, I never knew about Trinity[1] before this article...I am spinning up a VM to try it out on right now, as I always liked KDEs style, but disliked the bloat.
If you just need to throw a paragraph (or to "just manage "other programs" and forget about the "environment" and you don't feel it's slow, then... any of the two options is ok.
I've dipped into swap due to virtual machines. It was extremely painful.
But the article mentions this in the conclusion:
> If you have some ancient hardware that you need to breathe new life into, or if you need to fit a distro on a modestly sized memory stick, the first thing you should look at is the window manager/desktop environment.
For me, it's a lot easier to drop Unity for XMonad than it would be to switch away from something like Chrome. If I actually want to do something with one of my old laptops, this might be relevant.
Man, KDE is heavy. Plasma-desktop takes up 194MB here (which matches nicely with his +7MB openbox session), but Kwin, as most KDE users will arguably have, adds 99MB.
So a total of 293MB for KDE. Almost double as much as Gnome 3.
The OS will use free memory for disk caches which will help speed up any modern desktop. That's the 'cached' column output by `free`. My computer currently reports 18 GB used out of 20 GB, but 15 GB of that is disk caching.
The more memory your desktop environment grabs, the less memory is available for disk caching. It might not be a problem, but it certainly pays off to invest in extra memory and in decreasing memory consumption of applications.
tbh the need for this is steadily decreasing. Sure I've got some old laptops that might need this spec wise but frankly by the time I've installed & set it up I'm already contemplating suicide. Systems with that little RAM also tend to be seriously slow...
[+] [-] hwh|12 years ago|reply
The most important part, however, is to shed light on "memory consumption" and how to measure it. The latter is a hard, hard task and there are odds in the game. The values given by "free", specifically, are only a (bad) indicator for the full system. E.g. have a look at those "buffers" and "cache" values. A lot of factors play a role: filesystem (c.f. btrfs vs. ext2), allocator (glibc?), sharing of dynamic libraries. I would specifically emphasize the last one: When you're about to run mostly GTK based apps, you will probably profit when your desktop has already pulled all GTK related dynamic libraries into memory (e.g. GNOME, XFCE). Whereas some minimal window manager might have a small memory footprint because it merely uses the Xlib/Xcb - an advantage over the moment you start Firefox or GVim. Or you might want to use Qt based apps - and that may profit from a desktop that pulled Qt in before (like KDE and others).
Having a compositing window manager also makes a difference memory-wise.
This said, pure code footprint _could_ be measured. It would be a hassle though. And in the end, the real noteworthy differences are those you can measure in actual time passing. Be sure to not only measure start-up, though.
[+] [-] txutxu|12 years ago|reply
Xorg + a few fonts is more "heavy" (in memory numbers) than the 90% of those dm/wm,
There are tools like x11perf, glxgears, and more, and at the end of the day, you cannot compare "fluxbox Vs a desktop environment", because you should be comparing fluxbox + cups + a desktop search indexer + a graphical filebrowser + a calendar service + this + that + ...
It's nice to see "the data", as "numbers", but you make a proper point about how it should be interpreted.
When I had more spare time (this is more than 14 years ago), I did test a lot of desktop environments. I did start with kde 1.X, and have use many version of many desktop environments and WMs... my tip is: pick the one that makes you "forget about it" and focus on your tasks.
Now living out of home and al the hardware I carry, and have access does not have any problems. When I loved at my home, I had recycled computers, and repaired by me ones, and if it was not ok for a graphical ENVIRONMENT (I don't care if I don't swap after boot, I care if I swap WHILE USING) I just did use such machine as a "headless server" and everybody is happy.
Other approach to low resources machines as the blog seems to talk about, is to enable remote login (xdm, gdm, kdm, whatever) on a powerful machine, and use the old one to just launch the X (raw) and the remote login/desktop client in full screen.
A few years ago, I did see this numbers on my own for the environments I was interested, and people used to tell me "xfce is light!!!", obviously, they did come from lighter environments, maybe because they were used to heavier desktops. I was used to fluxbox.
I was used to _forget_ about the WM and the backgrounds, and focus on useful things (unless you are preparing a your screen for a Hollywood film or something like that).
I just ask a responsive workflow. Most system do not provide that "by default" and you have to "setup", "cleanup" or "shortcut"... you can do it in many ways at many layers.
I like fluxbox by the following reasons: we did meet years ago, recycling computers with low resources, I did learn the configuration (behavior and keyboard) in half an hour and a few days of tweaking, performance/resources never was a problem, I did forgot about "it" and "it" did let me "do stuff". Until today this never failed/changed. That are my "numbers", I'm a happy customer.
[+] [-] DanBC|12 years ago|reply
The amount of ram a software uses seems like an odd metric to use, especially when the ram hungry beasts mentioned in the article use less than 250 MB.
[+] [-] TomNomNom|12 years ago|reply
IMO, the fact that they require more memory can be considered a reasonable indicator that they are more complex / do more stuff. They need to read stuff from disk / generate data in order to fill that memory in the first place, which takes time. I'm not an expert, but I would guess that using more memory also increases the chance that some of it will be swapped to disk by the OS, slowing things down further (although only intermittently).
[+] [-] arh68|12 years ago|reply
Besides, it's interesting to see that E17 is hardly 'lightweight', and XFCE is actually 'heavier' than MATE. WindowMaker (woo hoo!) is surprisingly 'lighter' than Awesome. I'm glad it will cut down on the X-is-slow-use-Y-instead-it's-lighter crap. Hearsay and fanboyism are endemic to linux wms, it seems.
[+] [-] samspenc|12 years ago|reply
You and I know as geeks that irrespective of real-world use, metrics and numbers are a good thing to throw around and make us seem smarter and more efficient than we actually are. :D
I was intrigued by the results - but will still keep using Unity myself (I love Mate/Cinnamon too) though its second last!
[+] [-] papsosouid|12 years ago|reply
[+] [-] ims|12 years ago|reply
If you haven't tried it, give it a shot. Was always intrigued by tiling WMs but resisted for far too long because of a vague resistance to learning yet another set of keyboard shortcuts. Seriously though, it's not bad at all.
http://i3wm.org/
[+] [-] roberto|12 years ago|reply
He mentions i3 in a previous article, this is why it's on the bar chart.
[+] [-] platz|12 years ago|reply
The only issue is with certain java-based applications such as PyCharm or Arudino IDE, in which sometimes the windows aren't drawn correctly due to the JVM not playing nicely with "non-reparenting" window managers (such as i3).
[+] [-] muuck|12 years ago|reply
[+] [-] vivab0rg|12 years ago|reply
[+] [-] untrothy|12 years ago|reply
[+] [-] dons|12 years ago|reply
It's nice that we don't need to write these things in C to be small and fast.
[+] [-] lnteveryday|12 years ago|reply
[+] [-] qznc|12 years ago|reply
[+] [-] jackowayed|12 years ago|reply
That last year or so, things got rough. I was really pushing the limit of what it could run without feeling unreasonably sluggish (with pretty normal workloads of browsing, IM, and either word processing or Ruby coding). First, I switched from Firefox to Opera. Then, I switched from Gnome to Xfce to IceWM. This made a world of difference, and I really didn't miss Gnome. It got me another 6 months+ out of that computer without being terribly frustrated all the time.
In most cases, on a modern computer where you have multiple gigabytes of RAM, I agree with you. But it's still nice to have those tiny window managers around.
[+] [-] RexRollman|12 years ago|reply
[+] [-] chriswarbo|12 years ago|reply
[+] [-] VLM|12 years ago|reply
Also there's a fair number of machines out there, used for non-web browsing purposes, yet might still have a use for a GUI.
Lets say you want a virtual cloud host, connected to via VNC to ... linode. The smallest linode is a gig, so you'll be using 1/5 of your total resources just for the window manager if you use KDE. Is that relevant, well only you can decide.
Finally the most interesting part of the graph was the exponential-ish nature of it. For some weird reason I was guessing WMs/Desktops grow vaguely linearily over time so a random sample from random aged WMs would be vaguely linear when graphed... that's not whats happening. Have not come up with an adequate mental model to explain the shape of the curve yet, assuming the data gathering wasn't manipulated to specifically generate it. Maybe its an attractor effect where one pole pulls to 0 or as close as you can get, and the other pole pulls to infinity, or as close as you can get (kde) and everything smoothly distributes in the middle ground.
[+] [-] dimatura|12 years ago|reply
[+] [-] andrewflnr|12 years ago|reply
[+] [-] Ziomislaw|12 years ago|reply
[+] [-] mhurron|12 years ago|reply
Why does every choice need a 'business case?'
[+] [-] drostie|12 years ago|reply
So these articles are appearing a little after I'd have liked to see them but they're a welcome overview in any case. :D
[+] [-] j_s|12 years ago|reply
2.5"/3.5"/5.25" SATA/IDE to USB 2.0 Adapter ($17.99) http://www.newegg.com/Product/Product.aspx?Item=N82E16812232...
Also, I usually pull out the hard drive I'm worried about accidentally wiping and boot from a live CD.
[+] [-] eterm|12 years ago|reply
[+] [-] rquirk|12 years ago|reply
In the end, I used Damn Small Linux live-booted off a CD and copied the whole drive to a USB stick. Took hours due to only having USB 1 back then, but it worked. Your external drive case is a better solution, but the "old distro" approach is great for cheapskates :-)
[+] [-] 01Michael10|12 years ago|reply
[+] [-] DanBC|12 years ago|reply
Or you could have used DBAN, which has modest min spec requirements.
[+] [-] notaddicted|12 years ago|reply
[+] [-] derleth|12 years ago|reply
Damn Small Linux runs in 16MB of RAM and provides a GUI by default:
http://www.damnsmalllinux.org/
tomsrtbt runs in less, but provides no GUI and very little documentation:
http://www.toms.net/rb/
http://www.linuxtoday.com/news/1998122400805PR
My point is that not everything needs to be small. We have freedom of choice here, not one-size-fits-all, and we can create specialized distros for specialized tasks.
[+] [-] CanSpice|12 years ago|reply
[+] [-] wtbob|12 years ago|reply
It's not quite as good as a Lisp Machine, but it's better than nothing.
[+] [-] D9u|12 years ago|reply
Tiny Core gives you a GUI desktop in an under 12 MB iso.
http://distro.ibiblio.org/tinycorelinux/
That said, I'm sticking with FreeBSD & dwm.
[+] [-] tehwalrus|12 years ago|reply
[+] [-] ElongatedTowel|12 years ago|reply
I guess one day I have to write my own window manager and taskbar adding to the huge amount of stuff that's already out there.
[+] [-] jeltz|12 years ago|reply
[+] [-] blinkingled|12 years ago|reply
[+] [-] dfc|12 years ago|reply
http://www.bytebot.net/blog/archives/2009/02/19/kde-42-bring...
[+] [-] thelittlelisper|12 years ago|reply
As a very welcome side-effect, the whole thing is very light. It runs in a few tens of MB.
[+] [-] untothebreach|12 years ago|reply
1: http://trinitydesktop.org/about.php
[+] [-] drivebyacct2|12 years ago|reply
[deleted]
[+] [-] txutxu|12 years ago|reply
A international CMS, or a static .html ?
This is the same.
If you just need to throw a paragraph (or to "just manage "other programs" and forget about the "environment" and you don't feel it's slow, then... any of the two options is ok.
[+] [-] eterm|12 years ago|reply
More useful would be, "How long does Firefox/Chrome/etc open in this WM". If there is a difference then that would be more meaningful.
[+] [-] NegativeK|12 years ago|reply
But the article mentions this in the conclusion:
> If you have some ancient hardware that you need to breathe new life into, or if you need to fit a distro on a modestly sized memory stick, the first thing you should look at is the window manager/desktop environment.
For me, it's a lot easier to drop Unity for XMonad than it would be to switch away from something like Chrome. If I actually want to do something with one of my old laptops, this might be relevant.
[+] [-] fiffig|12 years ago|reply
So a total of 293MB for KDE. Almost double as much as Gnome 3.
[+] [-] ExpiredLink|12 years ago|reply
[+] [-] rav|12 years ago|reply
The more memory your desktop environment grabs, the less memory is available for disk caching. It might not be a problem, but it certainly pays off to invest in extra memory and in decreasing memory consumption of applications.
[+] [-] Havoc|12 years ago|reply