6 ms·
> Today 16 gigabytes of RAM costs $100 and CPUs come with many cores, each with multiple hardware threads. In a decade this hardware will seem quaint. This is
by mehrdada 11y ago
> Today 16 gigabytes of RAM costs $100 and CPUs come with many cores, each with multiple hardware threads. In a decade this hardware will seem quaint.
This is a potentially dangerous worldview. While it is true for the server/desktop/laptop segment, it is less of a surety for phones, and downright scary for smaller, low-power embedded/IoT devices.
- zik 11y agoAlso it assumes that only one program is running on a machine and it's ok to use all the machine's resources. In practice that isn't true - if your web application uses twice as much server memory then you're going to be paying nearly twice as much for your cluster of servers. That makes a big difference.
- e3b0c 11y ago"The most amazing achievement of the computer software industry is its continuing cancellation of the steady and staggering gains made by the computer hardware industry." (Henry Petroski)
- fauigerzigerk 11y agoRight! Had we not squandered all those wonderful hardware performance gains on useless stuff like web browsers, searching the entire internet in milliseconds or streaming HD video over the net, we could now play Pac-Man thousands of times faster than in 1983!!!
- rancur 11y ago> potentially dangerous worldview those tools are the same freaks that make Chrome take 150MB-200MB per Tab and ruined my perfectly usable 8GB-RAM system in a matter of 2 years.
- clessg 11y agoYou may enjoy this: https://chrome.google.com/webstore/detail/the-great-suspender/klbibkeccnjlkjkiokjodocebajanakg?hl=en https://chrome.google.com/webstore/detail/the-great-suspende...
- rancur 11y agoit's too late. I have 32GB now
- tmd83 11y agoHow reliable is this one? Browsers these days are infuriatingly memory hog and Chrome is the champion specially in OSX.
- clessg 11y agoI haven't had any problems with it. As somebody who has ~100 tabs open at any given time, this extension is a godsend.
- rancur 11y agoyou know, considering I manage with 300GB / month I don't see why I should need 200MB for each website. Just keep it serialized and compressed until I need it.
- Redoubts 11y ago>smaller, low-power embedded/IoT device Do you want a GC there anyways?
- kasey_junk 11y agoYes, very much so. GC on powerful servers is a well trodden path. Low power devices much less so.
- lelandbatey 11y agoIsn't it a less troden path because it's sacrificing too much and gaining too little, especially when we have languages coming up like rust with the memory safety of a GC but no gc runtime cost? I ask because I don't have much low-level/embedded experience, and I'm unaware of why you'd want a gc on such low power systems. If there's a use case though, I'd love to learn about it!
- mehrdada 11y agoI think the question is easier to answer if we view "garbage collection" as automatic memory management in general, rather than a more specific case of automatic memory management via a runtime task colloquially known as the garbage collector. I believe automatic memory management is a universally desirable property whether you are running on a server or a small device. However, since you brought up Rust, I also think it is valid to debate the value of a runtime GC as opposed to another automatic memory management technique like automatic reference counting. I don't think that question is embedded-specific though: it applies just as much to the server environment.
- eloff 11y agoIt's not a limitation, just a tuning knob that can be used to trade off GC cycles against memory usage. If you're in a low-memory environment, tune the knob to use more CPU.
- cwyers 11y agoWhat if you're in a low-everything environment?
- Taek 11y agoAt some point you can no longer afford the luxury of a garbage collector. As the tech gets better, that point gets lower and lower, but there are still limitations.
- NateDad 11y agoPhones have two gigs of RAM and four cores these days. Low what? If you're talking software on an internet connected fridge, then, maybe, but that's a pretty niche area even in today's mostly theoretical and overpriced IOT world.
- millstone 11y agoThen don't use Go. Go was pitched as a systems language, but has found its niche as a server language. It's to be expected that the maintainers will make decisions that tune it for servers.
- wereHamster 11y agoDon't use a language which has GC. Allocate all objects statically.. no memory management needed at runtime.
- mehrdada 11y agoMy comment was targeting that particular statement and was not meant to be interpreted as a deficiency in this particular GC design, though if I were to comment about that, I have to say I remain a bit skeptical about how far you can effectively scale it down via this single knob technique; scaling up, I'm more certain about.
- joelthelion 11y agoI think the go guys are clearly focusing on server applications.