Live data from Hacker News

The world could run on older hardware if software optimization was a priority

twitter.com

21–30 of 842 posts

Re: The world could run on older hardware if software optimization was a priority

#21
The title made me think Carmack was criticizing poorly optimized software and advocating for improving performance on old hardware.

When in fact, the tweet is absolutely not about either of the two. He's talking about a thought experiment where hardware stopped advancing and concludes with "Innovative new products would get much rarer without super cheap and scalable compute, of course".

Re: The world could run on older hardware if software optimization was a priority

#22
post #17
post #13

Earlier quoted context omitted.

Related: I wonder what cpu Artemis/Orion is using

IBM PowerPC 750X apparently, which was the CPU the Power Mac G3 used back in the day. Since it's going into space it'll be one of the fancy radiation-hardened versions which probably still costs more than your car though, and they run four of them in lockstep to guard against errors. https://www.eetimes.com/comparing-tech-used-for-apollo-artem...

I'm not sure what artemis or orion are, but you can blame defense contractors for this. Nobody ever got fired for hiring IBM or Lockheed, even if they deliver unimpressive results at massive cost.

Re: The world could run on older hardware if software optimization was a priority

#25
post #12

I like to point out that since ~1980, computing power has increased about 1000X. If dynamic array bounds checking cost 5% (narrator: it is far less than that), and we turned it on everywhere, we could have computers that are just a mere 950X faster. If you went back in time to 1980 and offered the following choice: I'll give you a computer that runs 950X faster and doesn't have a huge class of memory safety vulnerabi…

Don't forget the law of large numters. 5% performance hit on one system is one thing, 5% across almost all of the current computing landscape is still a pretty huge value.

It's about 5%.

Cost of cyberattacks globally[1]: O($trillions)

Cost of average data breach[2][3]: ~$4 million

Cost of lost developer productivity: unknown

We're really bad at measuring the secondary effects of our short-sightedness.

[1] https://iotsecurityfoundation.org/time-to-fix-our-digital-fo...

[2] https://www.internetsociety.org/resources/doc/2023/how-to-ta...

[3] https://www.ibm.com/reports/data-breach

Re: The world could run on older hardware if software optimization was a priority

#26
post #11

Well, yes. It's an economic problem (which is to say, it's a resource allocation problem). Do you have someone spend extra time optimising your software or do you have them produce more functionality. If the latter generates more cash then that's what you'll get them to do. If the former becomes important to your cashflow then you'll get them to do that.

It's the kind of economics that shifts the financial debt to accumulating waste, and technical debt, which is paid for by someone else. It's basically stealing. There are --of course-- many cases in which thorough optimizing doesn't make much sense, but the idea of just adding servers instead of rewriting is a sad state of affairs.

It doesn't seem like stealing to me? Highly optimised software generally takes more effort to create and maintain.

The tradeoff is that we get more software in general, and more features in that software, i.e. software developers are more productive.

I guess on some level we can feel that it's morally bad that adding more servers or using more memory on the client is cheaper than spending developer time but I'm not sure how you could shift that equilibrium without taking away people's freedom to choose how to build software?

Re: The world could run on older hardware if software optimization was a priority

#28
Obviously, the world ran before computers. The more interesting part of this is what would we lose if we knew there were no new computers, and while I'd like to believe the world would put its resources towards critical infrastructure and global logistics, we'd probably see the financial sector trying to buy out whatever they could, followed by any data center / cloud computing company trying to lock all of the best compute power in their own buildings.

Re: The world could run on older hardware if software optimization was a priority

#29
post #12

I like to point out that since ~1980, computing power has increased about 1000X. If dynamic array bounds checking cost 5% (narrator: it is far less than that), and we turned it on everywhere, we could have computers that are just a mere 950X faster. If you went back in time to 1980 and offered the following choice: I'll give you a computer that runs 950X faster and doesn't have a huge class of memory safety vulnerabi…

Except we've squandered that 1000x not on bounds checking but on countless layers of abstractions and inefficiency.

Re: The world could run on older hardware if software optimization was a priority

#30

Let's keep the CPU efficiency golf to Zachtronics games, please. I/O is almost always the main bottleneck. I swear to god 99% of developers out there only know how to measure cpu cycles of their code so that's the only thing they optimize for. Call me after you've seen your jobs on your k8s clusters get slow because all of your jobs are inefficiently using local disk and wasting cycles waiting in queue for reads/writ…

> I/O is almost always the main bottleneck.

People say this all the time, and usually it's just an excuse not to optimize anything.

First, I/O can be optimized. It's very likely that most servers are either wasteful in the number of requests they make, or are shuffling more data around than necessary.

Beyond that though, adding slow logic on top of I/O latency only makes things worse.

Also, what does I/O being a bottleneck have to do with my browser consuming all of my RAM and using 120% of my CPU? Most people who say "I/O is the bottleneck" as a reason to not optimize only care about servers, and ignore the end users.

Post reply on HN