Why do software nowadays take so much more memory and processing power (2020)
1–10 of 73 posts
Re: Why do software nowadays take so much more memory and processing power (2020)
#2640x480 display requires about 1.2MB of memory to hold all pixels.
a 3840 x 2160 display requires 33MB of pixel data. That’s a ~28x increase. This also means that app assets like icons have increased in size and we use more of them because of larger screens we can fit more of them on the screen.
Next the storage size increased. Therefore we tend to keep data for longer even if it’s unused. More files on storage increases file system and SSD fragmentation, seek times, etc. and a lot of file systems don’t scale very well. Try creating a directory with million files or removing node.js directory with say 100,000 packages installed.
The internet connection speeds increased, so we keep more memory reserved for network buffers so the network stack can service full bandwidth if needed, and because of higher bandwidth we start serving more data in unoptimized formats like JSON because bandwidth is perceived as cheap.
Next up is bigger memory which allows a lot of slack when implementing non-performance critical pieces of code or applications.
When looked at in isolation, those things tend to often not be a big deal but when we put pieces together we get bloat. This gets compounded when applications start fighting for resources on the same machine and you get unanticipated interactions.
Re: Why do software nowadays take so much more memory and processing power (2020)
#3Few factors influence this. One is increased screen resolutions. 640x480 display requires about 1.2MB of memory to hold all pixels. a 3840 x 2160 display requires 33MB of pixel data. That’s a ~28x increase. This also means that app assets like icons have increased in size and we use more of them because of larger screens we can fit more of them on the screen. Next the storage size increased. Therefore we tend to keep…
Pain. Just pain, on any system.
Re: Why do software nowadays take so much more memory and processing power (2020)
#4I was there for most of the old machines and my recollection is they were always slow, which is why there was a relentless race to upgrade to a faster machine and why for a very long time people replaced their computer once a year. If software and old machines were so snappy then there would have been no reason to buy a new computer, and the industry would have stalled in 1984.
This trope of "how did things get so slow, they were fast in ye olde dayes" is just an incorrect blurred memory of they way things were.
AND if the software was faster in Ye Olde Dayes, it is because it did less.
Of course it's not possible to generalise, but for the most part this is true - old software did less than modern software. The pervasive experience of using old computers was waiting.
My M1 Mac running 2 IDEs, 3 web browsers, email, terminals and several other apps is ridiculously, mind blowingly, insanely fast - so fast that anyone back in 1990 would have drooled themselves dry to have that speed.
Re: Why do software nowadays take so much more memory and processing power (2020)
#5You hear this all the time "software on old machines used to be blazing fast and now software on new machines are slow". I was there for most of the old machines and my recollection is they were always slow, which is why there was a relentless race to upgrade to a faster machine and why for a very long time people replaced their computer once a year. If software and old machines were so snappy then there would have b…
Re: Why do software nowadays take so much more memory and processing power (2020)
#6Few factors influence this. One is increased screen resolutions. 640x480 display requires about 1.2MB of memory to hold all pixels. a 3840 x 2160 display requires 33MB of pixel data. That’s a ~28x increase. This also means that app assets like icons have increased in size and we use more of them because of larger screens we can fit more of them on the screen. Next the storage size increased. Therefore we tend to keep…
When everything is a webpage, everything incurs the overhead associated with it. Steam takes up ~250 megs. Its webhelper is chewing ~2.5 gigs right now by contrast for me.
The bloat is real.
I still program against targets with < 1 meg of RAM, but that's fairly uncommon these days professionally.
Re: Why do software nowadays take so much more memory and processing power (2020)
#7You hear this all the time "software on old machines used to be blazing fast and now software on new machines are slow". I was there for most of the old machines and my recollection is they were always slow, which is why there was a relentless race to upgrade to a faster machine and why for a very long time people replaced their computer once a year. If software and old machines were so snappy then there would have b…
Re: Why do software nowadays take so much more memory and processing power (2020)
#8“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.”
Re: Why do software nowadays take so much more memory and processing power (2020)
#9You hear this all the time "software on old machines used to be blazing fast and now software on new machines are slow". I was there for most of the old machines and my recollection is they were always slow, which is why there was a relentless race to upgrade to a faster machine and why for a very long time people replaced their computer once a year. If software and old machines were so snappy then there would have b…
Modern computers have more bandwidth and more latency. They are faster and also feel slower. http://danluu.com/input-lag/
Re: Why do software nowadays take so much more memory and processing power (2020)
#10Few factors influence this. One is increased screen resolutions. 640x480 display requires about 1.2MB of memory to hold all pixels. a 3840 x 2160 display requires 33MB of pixel data. That’s a ~28x increase. This also means that app assets like icons have increased in size and we use more of them because of larger screens we can fit more of them on the screen. Next the storage size increased. Therefore we tend to keep…
One strategy for dealing with this is to use something like k8s to run the various components in different pods. That way you can size each pod such that there are always enough resources set aside for that component, and if it starts getting too big for its britches, you know about it before the whole thing comes crashing down (because they're the britches for just that component).
Seems innocent enough, but bearing in mind that internet traffic is bursty, you end up with a situation where your pods are 90% empty 90% of the time because they're all sized for the worst case scenario. The compute you're paying for goes unused most of the time but AWS will still be billing you for 100% it.
It's a sort of cancer of the request/response world that we live in. I think we need to go back to the 90's and make a different choice about the web. pub/sub maybe. The cases where we can't tolerate a few minutes of latency are quite small--provided that the data appears out-of-date during that time instead of the app being unusable, which is how we're handling it now.