Live data from Hacker News

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

twitter.com

291–300 of 842 posts

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

#291
Carmack is a very smart guy and I agree with the sentiment behind his post, but he's a software guy. Unfortunately for all of us hardware has bugs, sometimes bugs so bad that you need to drop 30-40% of your performance to mitigate them - see Spectre, Meltdown and friends.

I don't want the crap Intel has been producing for the last 20 years, I want the ARM, RiscV and AMD CPUs from 5 years in the future. I don't want a GPU by Nvidia that comes with buggy drivers and opaque firmware updates, I want the open source GPU that someone is bound to make in the next decade. I'm happy 10gb switches are becoming a thing in the home, I don't want the 100 mb hubs from the early 2000s.

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

#292
post #234
post #210

Earlier quoted context omitted.

You are comparing applications with wildly different features and UI. That's neither an argument for nor against performance as an important quality metric. How fast you can compile, start and execute some particular code matters. The experience of using a program that performs well if you use it daily matters. Performance is not just a quantitative issue. It leaks into everything, from architecture to delivery to us…

> You are comparing applications with wildly different features and UI. That's neither an argument for nor against performance as an important quality metric. I never said performance wasn't an important quality metric, just that it's not the only quality metric. If a slow program has the features I need and a fast program doesn't, the slow program is going to be "higher quality" in my mind. > How fast you can compil…

> If a slow program has the features I need and a fast program doesn't, the slow program is going to be "higher quality" in my mind.

That’s irrelevant here, the fully featured product can also be fast. The overwhelming majority of software is slow because the company simply doesn’t care about efficiency. Google actively penalized slow websites and many companies still didn’t make it a priority.

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

#293

HN: Yeah! We should be go back to writing optimized code that fully uses the hardware capabilities! Also HN: Check this new AI tool that consumes 1000x more energy to do the exact same thing we could already do, but worse and with no reproducibility

Google the goomba fallacy

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

#294
post #170

Earlier quoted context omitted.

I don't think it's necessarily a market for lemons. That involves information asymmetry. Sometimes that happens with buggy software, but I think in general, people just want to pay less and don't mind a few bugs in the process. Compare and contrast what you'd have to charge to do a very thorough process with multiple engineers checking every line of code and many hours of rigorous QA. I once did some software for a s…

I do think there is an information problem in many cases. It is easy to get information of features. It is hard to get information on reliability or security. The result is worsened because vendors compete on features, therefore they all make the same trade off of more features for lower quality.

Some vendors even make it impossible to get information. See Oracle and Microsoft forbidding publishing benchmarks for their SQL databases.

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

#295
post #29

Earlier quoted context omitted.

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

Am I taking crazy pills or are programs not nearly as slow as HN comments make them out to be? Almost everything loads instantly on my 2021 MacBook and 2020 iPhone. Every program is incredibly responsive. 5 year old mobile CPUs load modern SPA web apps with no problems. The only thing I can think of that’s slow is Autodesk Fusion starting up. Not really sure how they made that so bad but everything else seems super s…

Apple unlike the other Silicon Valley giants has figured out that latency >>> throughput. Minimizing latency is much more important for making a program "feel" fast than maximizing latency. Some of the apps I interact with daily are Slack, Teams (ugh), Gmail, and YouTube and they are all slow as dogshit.

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

#296
Sadly software optimization doesn't offer enough cost savings for most companies to address consumer frustration. However, for large AI workloads, even small CPU improvements yield significant financial benefits, making optimization highly worthwhile.

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

#297
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…

I think on year 2001 GHz CPU should be a performance benchmark that every piece of basic non-high performance software should execute acceptably on.

This is kind of been a disappointment to me of AI when I've tried it. This has kind of been a disappointment to me of AI when I've tried it. Llm should be able to Port things. It should be able to rewrite things with the same interface. It should be able to translate from inefficient languages to more efficient ones.

It should even be able to optimize existing code bases automatically, or at least diagnose or point out poor algorithms, cache optimization, etc.

Heck I remember powerbuilder in the mid 90s running pretty well on 200 mhz CPUs. It doesn't even really interpreted stuff. It's just amazing how slow stuff is. Do rounded corners and CSS really consume that much CPU power?

My limited experience was trying to take the unix sed source code and have AI port it into a jvm language, and it could do the most basic operations, but utterly failed at even the intermediate sed capabilities. And then optimize? Nope

Of course there's no desire for something like that. Which really shows what the purpose of all this is. It's to kill jobs. It's not to make better software. And it means AI is going to produce a flood of bad software. Really bad software.

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

#298
post #292
post #234

Earlier quoted context omitted.

> You are comparing applications with wildly different features and UI. That's neither an argument for nor against performance as an important quality metric. I never said performance wasn't an important quality metric, just that it's not the only quality metric. If a slow program has the features I need and a fast program doesn't, the slow program is going to be "higher quality" in my mind. > How fast you can compil…

> If a slow program has the features I need and a fast program doesn't, the slow program is going to be "higher quality" in my mind. That’s irrelevant here, the fully featured product can also be fast. The overwhelming majority of software is slow because the company simply doesn’t care about efficiency. Google actively penalized slow websites and many companies still didn’t make it a priority.

> That’s irrelevant here, the fully featured product can also be fast.

So why is it so rarely the case? If it's so simple, why hasn't anyone recognized that Teams, Zoom, etc are all bloated and slow and made a hyper-optimized, feature-complete competitor, dominating the market?

Software costs money to build, and performance optimization doesn't come for free.

> The overwhelming majority of software is slow because the company simply doesn’t care about efficiency.

Don't care about efficiency at all, or don't consider it as important as other features and functionality?

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

#299
post #217
post #91

There is an argument to be made that the market buys bug-filled, inefficient software about as well as it buys pristine software. And one of them is the cheapest software you could make. It's similar to the "Market for Lemons" story. In short, the market sells as if all goods were high-quality but underhandedly reduces the quality to reduce marginal costs. The buyer cannot differentiate between high and low-quality g…

The dumbest and most obvious of realizations finally dawned on me after trying to build a software startup that was based on quality differentiation. We were sure that a better product would win people over and lead to viral success. It didn’t. Things grew, but so slowly that we ran out of money after a few years before reaching break even. What I realized is that lower costs, and therefore lower quality, are a compe…

> What I realized is that lower costs, and therefore lower quality,

This implication is the big question mark. It's often true but it's not at all clear that it's necessarily true. Choosing better languages, frameworks, tools and so on can all help with lowering costs without necessarily lowering quality. I don't think we're anywhere near the bottom of the cost barrel either.

I think the problem is focusing on improving the quality of the end products directly when the quality of the end product for a given cost is downstream of the quality of our tools. We need much better tools.

For instance, why are our languages still obsessed with manipulating pointers and references as a primary mode of operation, just so we can program yet another linked list? Why can't you declare something as a "Set with O(1) insert" and the language or its runtime chooses an implementation? Why isn't direct relational programming more common? I'm not talking programming in verbose SQL, but something more modern with type inference and proper composition, more like LINQ, eg. why can't I do:

    let usEmployees = from x in Employees where x.Country == "US";

    func byFemale(Query q) =>
      from x in q where x.Sex == "Female";

    let femaleUsEmployees = byFemale(usEmployees);
These abstract over implementation details that we're constantly fiddling with in our end programs, often for little real benefit. Studies have repeatedly shown that humans can write less than 20 lines of correct code per day, so each of those lines should be as expressive and powerful as possible to drive down costs without sacrificing quality.

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

#300

Earlier quoted context omitted.

People conflat the insanity of running a network cable through every application with the poor performance of their computers.

Correction: devs have made the mistake of turning everything into remote calls, without having any understanding as to the performance implications of doing so. Sonos’ app is a perfect example of this. The old app controlled everything locally, since the speakers set up their own wireless mesh network. This worked fantastically well. Someone at Sonos got the bright idea to completely rewrite the app such that it wasn…

We (probably) can guess the why - tracking and data opportunities which companies can eventually sell or utilize for profit is some way.
Post reply on HN