The world DOES run on older hardware. How new do you think the CPU in your bank ATM or car's ECU is?
The world could run on older hardware if software optimization was a priority
31–40 of 842 posts
Re: The world could run on older hardware if software optimization was a priority
#32The world DOES run on older hardware. How new do you think the CPU in your bank ATM or car's ECU is?
Sure, if you think the world consists of cash transactions and whatever a car needs to think about.
Re: The world could run on older hardware if software optimization was a priority
#33The 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".
https://news.ycombinator.com/item?id=43967208 https://threadreaderapp.com/thread/1922015999118680495.html
Re: The world could run on older hardware if software optimization was a priority
#34I 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.
Saying "if we did X we'd get a lot in return" is similar to the fallacy of inverting logical implication. The question isn't, will doing something have significant value, but rather, to get the most value, what is the thing we should do? The answer may well be not to make optimisation a priority even if optimisation has a lot of value.
Re: The world could run on older hardware if software optimization was a priority
#35Let'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 need to buy a new phone every few years simply because the manufacturer refuses to update it. Or they add progressively more computationally expensive effects that makes my old hardware crawl. Or the software I use only supports 2 old version of macOS. Or Microsoft decides that your brand new cpu is no good for win 11 because it's lacking a TPM. Or god help you if you try to open our poorly optimized electron app on your 5 year old computer.
Re: The world could run on older hardware if software optimization was a priority
#36Re: The world could run on older hardware if software optimization was a priority
#37Earlier quoted context omitted.
Sure, if you think the world consists of cash transactions and whatever a car needs to think about.
If we're talking numbers, there are many, many more embedded systems than general purpose computers. And these are mostly built on ancient process nodes compared to the cutting edge we have today; the shiny octa-cores on our phones are supported by a myriad of ancilliary chips that are definitely not cutting edge.
Re: The world could run on older hardware if software optimization was a priority
#38Of course that doesn't mean everything should be done in JS and Electron as there's a lot of drawbacks to that. There exists a reasonable middle ground where you get e.g. memory safety but don't operate on layers upon layers of heavy abstraction and overhead.
Re: The world could run on older hardware if software optimization was a priority
#39I 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.
The market mostly didn't want 50% faster code as much as it wanted an app that didn't exist before.
If I look at the apps I use on a day to day basis that are dog slow and should have been optimized (e.g. slack, jira), it's not really a lack of the industry's engineering capability to speed things up that was the core problem, it is just an instance the principal-agent problem - i.e. I'm not the one buying, I don't get to choose not to use it and dog-slow is just one of many the dimensions in which they're terrible.
Re: The world could run on older hardware if software optimization was a priority
#40Well, 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.
This feels like hyperbole to me. Who is being stolen from here? Not the end user, they're getting the tradeoff of more features for a low price in exchange for less optimized software.