Live data from Hacker News

"Software is getting slower more rapidly than hardware becomes faster."

techslang.com

31–40 of 193 posts

Re: "Software is getting slower more rapidly than hardware becomes faster."

#31

I've been saying for a while now, that developers and their managers should use a low-spec machine, let's say the 5th-percentile of whatever their users are using in the field, at least one day a week. This might force some reprioritizing of performance and efficiency goals. As long as devs spend their days with bugattis while writing software for corollas, this will continue to get worse.

Is it the devs who need to ride the Corollas? Or is it the managers and/or the testers?

Have testers not suffered enough?!

It's the devs that need the slow machines -- they're in the tightest feedback loop, and directly empowered to optimize performance.

Re: "Software is getting slower more rapidly than hardware becomes faster."

#32
post #10

I've been saying for a while now, that developers and their managers should use a low-spec machine, let's say the 5th-percentile of whatever their users are using in the field, at least one day a week. This might force some reprioritizing of performance and efficiency goals. As long as devs spend their days with bugattis while writing software for corollas, this will continue to get worse.

I hate this for developers. I got to experience this first hand because I had a boss who thought like you. Developers generally need to run a bunch of resource intensive tools to build the application in the first place, so an underpowered system will already be choking. It means their app will feel slow no matter what. So then when they run it and it's slow, they will shrug and say it's just slow because their syste…

I think it's reasonable to have a separate machine to do building on. You can include a push to the target in the build script, or use network mounts or something. Remote debugging is a thing, if you need to use a debugger but don't have the resources to debug on the target. But I disagree with your basic assumption that

> It means their app will feel slow no matter what.

If you can make it feel fast or at least responsive on your underpowered machine, it should feel super fast on everything else. Even today's slowest machines can run some things fast. It does depend a bit on your market though; it might not be worth the effort, but there's a lot of applications out there that could use some speed.

Re: "Software is getting slower more rapidly than hardware becomes faster."

#33
post #3

I feel like nobody really cares about optimization anymore. It's just "ship, ship, ship, move faster, ship." So there's a lot of tech-debt, a lot of unoptimized code, and a lot of "just make it work", at the expense of writing software that utilities the hardware properly. On the flip side of that though, hardware has gotten fast enough, where this is possible.

> I feel like nobody really cares about optimization anymore.

You have to consider the survivorship bias. Maybe the people that care about optimization don't 'survive' to keep caring about it.

> It's just "ship, ship, ship, move faster, ship."

Are startup with that mentality more likely to do well?

I've built my career around performance work and I've noticed that there a time and a place for everything. Sometimes shipping is more important, and sometimes performance can be a day one defining feature.

Re: "Software is getting slower more rapidly than hardware becomes faster."

#34
post #13
post #3

I feel like nobody really cares about optimization anymore. It's just "ship, ship, ship, move faster, ship." So there's a lot of tech-debt, a lot of unoptimized code, and a lot of "just make it work", at the expense of writing software that utilities the hardware properly. On the flip side of that though, hardware has gotten fast enough, where this is possible.

Doesn't it all boil down to economics in the end? When I worked at AOL, QA was very important/valued because our SW was shipped on CDs (I know, I know), and every bug/update cost us users because we had to download an update at modem speed. Now that I work on a web development team, bugs are easily fixed by an update. So who cares if there's a bug? We can just update the site. There are other costs, of course -- if w…

Absolutely. It really is a double-edged sword and there's so many factors that play into.

Do you spend a ton of time writing beautifully optimized code, but ship less features, or do you ship a ton of features that mostly work. I feel like if you take too long to ship, a competitor will eat your lunch. But if everything you ship is trash, then a competitor will also eat your lunch. All about finding that balance I guess.

Re: "Software is getting slower more rapidly than hardware becomes faster."

#36
post #17

I've been saying for a while now, that developers and their managers should use a low-spec machine, let's say the 5th-percentile of whatever their users are using in the field, at least one day a week. This might force some reprioritizing of performance and efficiency goals. As long as devs spend their days with bugattis while writing software for corollas, this will continue to get worse.

Is there some way to reliably simulate this, e.g. using a VM? It would be nice to have IDE, build tools etc. using all available speed while running the output as if it was on slower hardware.

For Webapps, chrome can emulate slow network and/or devices. For Kubernetes or Docker compose, you can restrict resources, I believe.

Re: "Software is getting slower more rapidly than hardware becomes faster."

#37
post #10

I've been saying for a while now, that developers and their managers should use a low-spec machine, let's say the 5th-percentile of whatever their users are using in the field, at least one day a week. This might force some reprioritizing of performance and efficiency goals. As long as devs spend their days with bugattis while writing software for corollas, this will continue to get worse.

I hate this for developers. I got to experience this first hand because I had a boss who thought like you. Developers generally need to run a bunch of resource intensive tools to build the application in the first place, so an underpowered system will already be choking. It means their app will feel slow no matter what. So then when they run it and it's slow, they will shrug and say it's just slow because their syste…

Developers generally need to run a bunch of resource intensive tools to build the application in the first place, so an underpowered system will already be choking.

Straw man. Of course, if you crank that knob to the extreme bad things happen.

There might be a case for specifically running testing on a slower machine, though.

Agreed here. I think the optimal is for devs to be able to do intensive operations on a fast machine, dogfood for most of their time on a average machine, then test on a somewhat slow one.

Re: "Software is getting slower more rapidly than hardware becomes faster."

#39

I've been saying for a while now, that developers and their managers should use a low-spec machine, let's say the 5th-percentile of whatever their users are using in the field, at least one day a week. This might force some reprioritizing of performance and efficiency goals. As long as devs spend their days with bugattis while writing software for corollas, this will continue to get worse.

Ideally they have a fast machine to run compilers and shit on, but then the actual product they are developing runs on a slow machine.

Luckily, Chrome has a feature to deliberately throttle the CPU and network speed for precisely this reason.

Sadly hardly anyone uses it.

Re: "Software is getting slower more rapidly than hardware becomes faster."

#40
Anecdotally this does not apply to my laptop from 2014. It was born with a HDD and upgraded to SSD a couple of years later. It still feels fast enough and, more up to the point, it doesn't feel to get any slower by the years. Actually it's getting faster and that was the feeling I had with my previous laptop from 2006.

OK, I've been using Linux on them since January 2009, so no Microsoft software (but Teams is slow, I installed it a couple of years ago and uninstalled it.) I used Ubuntu until one year ago, then Debian.

In all those years JavaScript browser engines got much faster for everybody, not only for me. Browsers are faster now. Some sites are slower but NoScript and uMatrix take care of most of those problems. They add others, such as fiddling with settings to enable as little of JS to make the sites work. Maybe I should account the time I spent doing that as part of the slowdown.

Everything else I use is at least as fast as it used to be. Let's see what I have open right now on my screen: emacs, Thunderbird, VLC, KeePassXC, Slack, Telegram. Slack has never been fast but it's not slow either. LibreOffice is fast enough and it doesn't feel slower than what I remember it to be. And in the background: some docker containers (three PostgreSQLs, one redis,) a Rails app + Sidekiq, a Django app + Celery, one webpack for a Vue.js SPA. They are OK and this computer is a few times slower than what I could buy now.

So, some software eat up all the hardware improvements of the last 10 years, some other software didn't or actually improved.

Edit: of course I also have a browser open on my screen. Firefox with one window per virtual screen and many tabs per window. htop is saying 15.7/31.1GB.

Post reply on HN