Live data from Hacker News

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

twitter.com

341–350 of 842 posts

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

#341

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…

That sounds like a corporate anti-virus slowing everything down to me. vscode takes a few seconds to launch for me from within WSL2, with extensions. IntelliJ on a large project takes a while I'll give you that, but just intelliJ takes only a few seconds to launch.

Vscode is actually 10 seconds, you’re right.

I have no corp antivirus or MDM on this machine, just windows 11 and windows defender.

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

#342
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 don't trust that shady-looking narrator. 5% of what exactly? Do you mean that testing for x >= start and Or would bounds checking in fact more than double the time to insert a bunch of ints separately into the array, testing where each one is being put? Or ... is there some gimmick to avoid all those individual checks, I don't know.

You only need to bounds check once before a for loop starts, not every iteration.

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

#343
post #67

Earlier quoted context omitted.

I agree with the sentiment and analysis that most humans prefer short term gains over long term ones. One correction to your example, though. Dynamic bounds checking does not solve security. And we do not know of a way to solve security. So, the gains are not as crisp as you are making them seem.

Bounds checking solves one tiny subset of security. There are hundreds of other subsets that we know how to solve. However these days the majority of the bad attacks are social and no technology is likely to solve them - as more than 10,000 years of history of the same attack has shown. Technology makes the attacks worse because they now scale, but social attacks have been happening for longer than recorded history (…

> However these days the majority of the bad attacks are social

You're going to have to cite a source for that.

Bounds checking is one mechanism that addresses memory safety vulnerabilities. According to MSFT and CISA[1], nearly 70% of CVEs are due to memory safety problems.

You're saying that we shouldn't solve one (very large) part of the (very large) problem because there are other parts of the problem that the solution wouldn't address?

[1] https://www.cisa.gov/news-events/news/urgent-need-memory-saf...

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

#344
post #317

So I've worked for Google (and Facebook) and it really drives the point home of just how cheap hardware is and how not worth it optimizing code is most of the time. More than a decade ago Google had to start managing their resource usage in data centers. Every project has a budget. CPU cores, hard disk space, flash storage, hard disk spindles, memory, etc. And these are generally convertible to each other so you can…

Except you’re self selecting for a company that has high engineering costs, big fat margins to accommodate expenses like additional hardware, and lots of projects for engineers to work on.

The evaluation needs to happen in the margins, even if it saves pennies/year on the dollar, it’s best to have those engineers doing that than have them idling.

The problem is that almost no one is doing it, because the way we make these decisions has nothing to do with the economical calculus behind, most people just do “what Google does”, which explains a lot of the disfunction.

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

#345
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 actually disagree. I think that people will pay more for higher quality software, but only if they know the software is higher quality.

It's great to say your software is higher quality, but the question I have is whether or not is is higher quality with the same or similar features, and second, whether the better quality is known to the customers.

It's the same way that I will pay hundreds of dollars for Jetbrains tools each year even though ostensibly VS Code has most of the same features, but the quality of the implementation greatly differs.

If a new company made their IDE better than jetbrains though, it'd be hard to get me to fork over money. Free trials and so on can help spread awareness.

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

#347
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 exact same experience trying to build a startup. The thing that always puzzled me was Apple: they've grown into one of the most profitable companies in the world on the basis of high-quality stuff. How did they pull it off?

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

#348

Earlier quoted context omitted.

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…

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…

For all the people who are doubting that applications are slow and that it must just be me - here [0] is a debugger that someone has built from the ground up that compiles, launches, attaches a debugger and hits a breakpoint in the same length of time that visual studio displays the splash screen for.

[0] https://x.com/ryanjfleury/status/1747756219404779845

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

#349

Earlier quoted context omitted.

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

And I'd argue that we've seen tons of innovation in the past 18 years aside from just "the smartphone" but it's all too easy to take for granted and forget from our current perspective. First up, the smartphone itself had to evolve a hell of a lot over 18 years or so. Go try to use an iPhone 1 and you'll quickly see all of the roadblocks and what we now consider poor design choices littered everywhere, vs improvement…

I worked for a 3rd party food delivery service in the summer of 2007. Ordering was generally done by phone, then the office would text us (the drivers) order details for pickup & delivery. They provided GPS navigation devices, but they were stand-alone units that were slower & less accurate than modern ones, plus they charged a small fee for using it that came out of our pay.

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

#350

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.

I think you’re right in that it’s an economics problem, but you’re wrong about which one.

For me this is a clear case of negative externalities inflicted by software companies against the population at large.

Most software companies don’t care about optimization because they’re not paying the real costs on that energy, lost time or additional e-waste.

Post reply on HN