Live data from Hacker News

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

twitter.com

271–280 of 842 posts

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

#271
I'm going to be pretty blunt. Carmack gets worshiped when he shouldn't be. He has several bad takes in terms of software. Further, he's frankly behind the times when it comes to the current state of the software ecosystem.

I get it, he's legendary for the work he did at id software. But this is the guy who only like 5 years ago was convinced that static analysis was actually a good thing for code.

He seems to have a perpetual view on the state of software. Interpreted stuff is slow, networks are slow, databases are slow. Everyone is working with Pentium 1s and 2MB of ram.

None of these are what he thinks they are. CPUs are wicked fast. Interpreted languages are now within a single digit multiple of natively compiled languages. Ram is cheap and plentiful. Databases and networks are insanely fast.

Good on him for sharing his takes, but really, he shouldn't be considered a "thought leader". I've noticed his takes have been outdated for over a decade.

I'm sure he's a nice guy, but I believe he's fallen into a trap that many older devs do. He's overestimating what the costs of things are because his mental model of computing is dated.

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

#272
I think optimizations only occur when the users need them. That is why there are so many tricks for game engine optimization and compiling speed optimization. And that is why MSFT could optimize the hell out of VSCode.

People simply do not care about the rest. So there will be as little money spent on optimization as possible.

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

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

You must be referring only to security bugs because you would quickly toss Excel or Photoshop if it were filled with performance and other bugs. Security bugs are a different story because users don't feel the consequences of the problem until they get hacked and even then, they don't know how they got hacked. There are no incentives for developers to actually care.

Developers do care about performance up to a point. If the software looks to be running fine on a majority of computers why continue to spend resources to optimize further? Principle of diminishing returns.

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

#274

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".

> "Innovative new products would get much rarer without super cheap and scalable compute, of course". Interesting conclusion—I'd argue we haven't seen much innovation since the smartphone (18 years ago now), and it's entirely because capital is relying on the advances of hardware to sell what is to consumers essentially the same product that they already have. Of course, I can't read anything past the first tweet.

We have self driving cars, amazing advancement in computer graphics, dead reckoning of camera position from visual input...

In the meantime, hardware has had to go wide on threads as single core performance has not improved. You could argue that's been a software gain and a hardware failure.

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

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

That's generally what I think as well. Yes, the world could run on older hardware, but you keep making faster and adding more CPU's so, why bother making the code more efficient?

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

#276

Earlier quoted context omitted.

we could of course theoretically make everything even faster. It's nowhere near the most optimal use of the available hardware. All we'd have to give up is squishy hard-to-measure things like "feature sets" and "engineering velocity." Says who? Who are these experienced people that know how to write fast software that think it is such a huge sacrifice? The reality is that people who say things like this don't actuall…

> These kinds of myths get perpetuated by people who repeat it without having experienced the side of just writing native software. I think mostly it is people rationalizing not learning assembly and sticking to C++ or PERL because that's what they learned first. Why stop at C++? Is that what you happen to be comfortable with? Couldn't you create even faster software if you went down another level? Why don't you?

Couldn't you create even faster software if you went down another level? Why don't you?

No and if you understood what makes software fast you would know that. Most software is allocating memory inside hot loops and taking that out is extremely easy and can easily be a 7x speedup. Looping through contiguous memory instead of chasing pointers through heap allocated variables is another 25x - 100x speed improvement at least. This is all after switching from a scripting language, which is about a 100x in itself if the language is python.

It isn't about the instructions it is about memory allocation and prefetching.

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

#277

Earlier quoted context omitted.

Slack, teams, vs code, miro, excel, rider/intellij, outlook, photoshop/affinity are all applications I use every day that take 20+ seconds to launch. My corporate VPN app takes 30 seconds to go from a blank screen to deciding if it’s going to prompt me for credentials or remember my login, every morning. This is on an i9 with 64GB ram, and 1GN fiber. On the website front - Facebook, twitter, Airbnb, Reddit, most news…

I'm on a four year old mid-tier laptop and opening VS Code takes maybe five seconds. Opening IDEA takes five seconds. Opening twitter on an empty cache takes perhaps four seconds and I believe I am a long way from their servers. On my work machine slack takes five seconds, IDEA is pretty close to instant, the corporate VPN starts nearly instantly (although the Okta process seems unnecessarily slow I'll admit), and mo…

[deleted]

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

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

I had the same realization but with car mechanics. If you drive a beater you want to spend the least possible on maintenance. On the other hand, if the car mechanic cares about cars and their craftsmanship they want to get everything to tip-top shape at high cost. Some other mechanics are trying to scam you and get the most amount of money for the least amount of work. And most people looking for car mechanics want to pay the least amount possible, and don't quite understand if a repair should be expensive or not. This creates a downward pressure on price at the expense of quality and penalizes the mechanics that care about quality.

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

#279
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.

There's likely some, although it depends on the environment. The more users of the system there are, the more there are going to be reviews and people will know that it's kind of buggy. Most people seem more interested in cost or features though, as long as they're not losing hours of work due to bugs.

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

#280
post #179
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 market sells as if all goods were high-quality The phrase "high-quality" is doing work here. The implication I'm reading is that poor performance = low quality. However, the applications people are mentioning in this comment section as low performance (Teams, Slack, Jira, etc) all have competitors with much better performance. But if I ask a person to pick between Slack and, say, a a fast IRC client like Weecha…

[dead]
Post reply on HN