Live data from Hacker News

Why do software nowadays take so much more memory and processing power (2020)

dietpi.com

11–20 of 73 posts

Re: Why do software nowadays take so much more memory and processing power (2020)

#12
Because software is more complicated. And more complicated software (in addition to the primary effect of being complicated) is further slowed by abstraction and indirection, which slows performance but doesn't increase functionality.

Software that ran on dos or windows 3.1 WAS fast. But it also didn't have much in the way of UI.

Re: Why do software nowadays take so much more memory and processing power (2020)

#13

You 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…

Reduce your screen resolution to 640x480 and most software will feel a whole lot snappier, I bet. Pushing all those extra pixels to a 4k monitor adds a lot of overhead.

Re: Why do software nowadays take so much more memory and processing power (2020)

#14
One reason for more memory is we have largely given up on the dll dream in favour of container level abstractions (which includes the way desktop apps are going). The idea of using the operating system to paint UI widgets is positively quaint, at least on the desktop.

We are also 64 bit now. Every pointer in every app is twice as wide as twenty years ago, and we love pointers, especially in higher level languages.

The CPU usage is a lot more mysterious. We do casually do things like audio and video decoding which previously used to use a lot of CPU, and where they are not offloaded to DSPs today they can be offloaded to inevitably underused spare cores. GPUs and associated acceleration are widespread enough that the pixel hit is felt mainly on the GPU. Hitting CPU limits tends to be the result of using arbitrarily complex pointer laden data structures to represent ideas such as what passes for CSS and the DOM. Those are not what you would invent if you cared for performance, which is a major factor in why mobile native UIs feel so much faster.

Re: Why do software nowadays take so much more memory and processing power (2020)

#15

Few 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…

Trusting 100,000 packages ?

Shudders.

Re: Why do software nowadays take so much more memory and processing power (2020)

#17

A quote from Henry Petroski that has stuck with me: “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.”

Petroski was completely wrong about this. It is just that all of the gains from hardware have gone to enabling additional features rather than making the same feature set faster. Things like ripgrep make it more than obvious how fast simple software could be on modern hardware, but incentives are what they are and for most of the apps out there more features will be more profitable than more speed.

Re: Why do software nowadays take so much more memory and processing power (2020)

#19

Few 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…

> This gets compounded when applications start fighting for resources on the same machine and you get unanticipated interactions. 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 bef…

It’s infeasible on the desktop because for each application you now have a management memory overhead where the container subsystem in the operating system eats up memory for book keeping data structures. Now imagine 1000 apps running and having memory eaten up by running 1000 containers on your desktop.

Re: Why do software nowadays take so much more memory and processing power (2020)

#20
Because we write extensible instead of composable software. We do not distribute functions, but apps.

How many instructions do you need in assembly to compute `1+1`? How many instructions do you need to open your search bar, get the calculator and do the calculation?

We also make software responsible for way too much. Cross-platform is a joke. How can we expect developers to consider every platform? Obviously they will switch to some other magical solutions that promise support (and deliver overhead)

Software lacking composability also mean that if the developer doesn't provide a feature, users will most likely never have it. It is therefore encouraged to over-feature everything in case somebody somewhere want it.

Post reply on HN