9 ms·
I have 8gb. There was a time when 1gb was more than enough. Now you're saying I should have 16gb -- and you're right! This is Not A Good Thing. This is people
by SomeCallMeTim 14y ago
I have 8gb. There was a time when 1gb was more than enough. Now you're saying I should have 16gb -- and you're right!
This is Not A Good Thing. This is people throwing every last feature -- even if it has a pile of 800kb of DLLs/SOs attached -- into every app, with no regard for memory.
I find my system thrashing almost daily at this point. I need to upgrade. Two years ago, running predominantly the same software, 4Gb was just barely not enough, and I upgraded to 8Gb. And two years before that, cut the memory requirements in half again. And again, and again, until you get back to the 1Mb of RAM I had in 1990.
There has been a trend to do exactly what you say you want for 30+ years. And you know, some of that extra memory has been used to great effect -- we can do a ton more now than we could in 1990. But a lot of it is wasted, just Because It's Easy.
And that wasted RAM means pointless upgrades every two years; 99% of the bloat at this point is for something I don't need or want. The ONLY valid reasons to need 16Gb+ are if you're actually using that much data in one place -- a server that needs to scale, for instance, or editing video, or maybe a game that uses crazy amounts of data and/or video.
That the same apps are bloating 2x every two years -- and as a result get slower, since hard drive and memory speeds certainly aren't doubling every two years -- is really unacceptable laziness on the parts of companies and developers in general. It's pretty much the opposite of a Good Thing.
- robotresearcher 14y ago| a pile of 800kb of DLLs/SOs attached Shared Objects are not too bad, since they are shared between all processes that use (the same version of) them. In fact, the apparently worst case of linking them "into every app" is only slightly worse than having them appear in one app each. Assuming they are not all in the working set of every app at once, the overhead is small. Great OS technology! I think the main technical problem with code/feature bloat is the increased likelihood of bugs with every additional line of code.
- bd_at_rivenhill 14y agoActually, I encounter the problem of mismatched .so versions constantly when running new programs or libraries that are built from source. It would be nice if developers would figure out how to use libtool (and whatever the Windows equivalent is) so that this doesn't become a regular exercise in frustration.
- SomeCallMeTim 14y agoThe problem isn't when everyone is using the same .so/.dll. THAT would be a dream by comparison. The problem is that one app wants the Mono/.NET runtime, another wants Python, another is using Java, another is using a huge pile of Visual Basic libraries...and then every app ECOSYSTEM has its own pile of dependencies and libraries. And on Windows, to avoid DLL-hell, everyone pretty much ships their own version of libraries to ensure compatibility (and if you're on Mac, the story is pretty much the same there -- apps don't share anything but OS services -- it's only on Linux where you can rebuild everything that people dare share versions, and even then another commenter just pointed out there are bugs with that too). Java/Eclipse is probably my current worst offender, and Firefox is still greedy (though it's gotten better -- and Chrome is just completely broken on my system right now for whatever reason). Both are actually worse than the (bloated) Visual Studio that I need to run to develop Windows apps. And then of course there's Firefox (which has gotten better) and other various apps I'm running just to do basic development. Eclipse makes Visual Studio look lean by comparison -- but if I want to develop for Android, I have to work a lot harder to get an alternate environment ALMOST working as well as they've got Eclipse configured to work. Sounds like you're on Linux or Mac, and not doing as much GUI development as I choose to do. Looking right now Eclipse (the GUI from hell) alone is using 608Mb of memory. I know it has a lot of useful features, but 608Mb is a crazy amount of memory to use for a fancy text editor. I'm also using Notepad++ with tons of plug-ins, and it takes up <10Mb. Eclipse does more, but really, does it do THAT much more? And SKYPE is taking 90Mb to sit idle. I use Skype to chat with business clients, so I can't easily just toss it, despite that Pidgin is using 21Mb to connect to 4 different chat networks simultaneously and Skype only connects to one... The list goes on. And I need to upgrade to 16Gb soon (though looking at the memory usage right now, shortly after a reboot, I'm "only" at 4.1Gb, so it's not critical yet). Sigh.
- tomkarlo 14y ago8GB of RAM is about $50 right now. If you have to replace that every $2 years, are you really complaining about the cost of $25 per year on your $1,000 computer system? It's a rounding error. Chrome, in particular, is generally be used for far more tabs (I have like 30 open right now on a MacBook Air) and increasingly complex web sites every year. It's easy to look at memory usage and complain, but the fact is that our usage and the size of the pages we're loading is also rising rapidly. If you loaded Chrome from two years ago and used it how you work today, you might not find the memory footprint that much better than the current version.
- learc83 14y ago>If you have to replace that every $2 years, are you really complaining about the cost of $25 per year on your $1,000 computer system? That's assuming you're using a computer with user upgradeable RAM, and not a new macbook pro.
- codemac 14y agoThis is where the physical waste really gets bad to me. I'm not weighing in on this discussion as far as more RAM vs better binaries because /I want both/. But if you have to buy a whole new machine every two years when they only pieces of hardware that are getting better should be upgradeable (ram & display) it's pretty disheartening.
- tomkarlo 14y agoEven if you don't have replaceable RAM, you're still replacing your computer at some regular interval. It just means you have to buy the computer with more RAM than you would if it wasn't upgradeable (which was true anyway.) That's part of the cost of buying a computer where you can't upgrade the RAM.
- jjore 14y agoIf it's not upgradeable then it's disposable. Get the new one next time.
- 14y ago
- ibrahima 14y agoThis specific case is not bloat at all though, it's actually you as a user having too much content that you care about. So I don't see why this is relevant at all.
- Dylan16807 14y agoIt's not 'boat' per se but it's not caused by the user content. It's caused by chrome's process model. Firefox uses almost an order of magnitude less memory per tab.
- ubercow13 14y agoIt's always had that process model though.
- jdietrich 14y agoPython and Ruby are on average about 40x slower than C. Fifteen years ago, this relegated them to the status of "scripting languages" that were unsuitable for Real Work. Today, there are still plenty of important applications where every clock cycle matters, but many more where that performance difference is absolutely irrelevant. We have come to understand that developer time is vastly more valuable than computing resources in the overwhelming majority of applications - the only real disagreement is how many orders of magnitude of inefficiency we consider tolerable. Even the most resource-constrained applications are using higher-level languages and computationally inefficient designs, because it's much easier to spec a faster chip than a smarter dev team. Most applications aren't getting significantly slower. Web browsers are a perfect example of this; Almost every aspect of their performance has improved vastly over the past few years, but as a result we're building much more sophisticated web apps and doing things in the browser that were once purely the domain of highly optimised native apps. It's a near-perfect example of Jevons Paradox. Improving the efficiency of a process reduces the cost of the output, which leads to increased demand for the inputs to that process. My current computer has 700,000x more RAM than my first computer. If 99% of that memory is wasted, I'm still doing pretty well.
- Dylan16807 14y agoExcept when you're wasting that much ram you don't have room for modern high-resolution bitmaps. Binaries and GUIs and whatnot can afford to be bloated, but not everything.
- SomeCallMeTim 14y agoFunny that you should post this, and the next day on the front page of Hacker News an article talking about Ruby taking 30 servers, each of which running at 50% CPU utilization -- and still Rails would go to 100% utilization and crash the cluster when usage spiked -- while Go could run on a single server without even seemingly using CPU (5% was typical). [1] That's greater than a 40x speed improvement -- closer to 300x, going from 5% on one to 50% on 30. >We have come to understand that developer time is vastly more valuable than computing resources I get that, but still, 30 servers is pretty expensive. Having a full time engineer just to manage the cluster and write load balancing code is pretty expensive. Having down time because of a usage spike is pretty expensive. I'd rather pay for the smarter dev team myself, but I'm an engineer, so I'm biased. Though fundamentally I wasn't talking about servers above. I was talking about desktops, and mostly Windows desktops. And having to install Python because that's what one developer prefers, and .NET because of another preference, and Perl because of a third, and Ruby because of a fourth, and Java because of a fifth...where does it end? My own "scripting language" of choice is Lua. It's TINY, it's faster than all of the above (except, under some circumstances, Java -- but give Mike Pall another year or two and I bet LuaJIT will be beating Java in all the benchmarks instead of just many of them), and using it gives developers that productivity boost you're rightly saying is important. And if you need more speed than Lua can give you, Go is a good option, if it comes to that. But as you point out, not every app needs every cycle. [1] http://blog.iron.io/2013/03/how-we-went-from-30-servers-to-2-go.html http://blog.iron.io/2013/03/how-we-went-from-30-servers-to-2...
- gcr 14y agoThis is precisely the motivation behind the renaissance of the "simple / command-line-driven software movement" that you see sprouting up from the corners of the Arch Linux users, Slackware, and elsewhere. I used to carry around a laptop with 128MB RAM. In 2010-2012, I had 1GB and was happy with it, but I had to adapt: - Try a tiling window manager. You'd be surprised how many resources it takes to draw those window decorations, which not only saves RAM but also helps you focus better. - Try a lightweight browser like LuaKit, dwm, surf, etc. Most of them are Webkit-based anyway, so there's not many problems. Plus, a keyboard-driven web browser is a hoot - Try using emacs/vim instead of Word or OpenOffice. Thanks to LaTeX, I haven't touched a huge office suite in ages. - Instead of having lots of programs open in the background, why not try some command-line equivalents? If you're not on windows, you have access to a world of utilities: music players, todo lists, file managers, etc. Now I'm on an 8GB machine, and even under heavy load, I don't think I've ever come close to reaching that limit in the six months I've owned this box. (I don't have any swap space either)