Live data from Hacker News

Performance excuses debunked

computerenhance.com

11–20 of 130 posts

Re: Performance excuses debunked

#11

Obviously performance matters, it's just a question of opportunity cost. The article just takes some absolute statements about performance not mattering and argues against them, which is obvious and pointless. They ignore that the benefit/cost ratio for Facebook's performance improvements is vastly different to that of the average software company with tens of employees and some SaaS CRUD app. Their own example of Ub…

Did you read the same article I did? He explicitly states exactly that:

> For example, one argument would be that the evidence I’ve presented here is consistent with a strategy of quickly shipping “version one” with poor performance, then starting work on a high-performance “version two” to replace it. That would be completely consistent with the evidence we see.

> But even if that turns out to be true, it still means programmers have to care about performance! It just means they need to learn two modes of programming: “throw-away”, and “performant”. There would still be no excuse for dismissing performance as a critical skill, because you always know the throw-away version has to be replaced with a more performant version in short order.

> That kind of argument is great. We should have it. What we should not have are excuses — claims there is no argument to be had, and that performance somehow won’t matter anywhere in a product lifecycle, so developers simply don’t have to learn about it.

Re: Performance excuses debunked

#12
post #11

Obviously performance matters, it's just a question of opportunity cost. The article just takes some absolute statements about performance not mattering and argues against them, which is obvious and pointless. They ignore that the benefit/cost ratio for Facebook's performance improvements is vastly different to that of the average software company with tens of employees and some SaaS CRUD app. Their own example of Ub…

Did you read the same article I did? He explicitly states exactly that: > For example, one argument would be that the evidence I’ve presented here is consistent with a strategy of quickly shipping “version one” with poor performance, then starting work on a high-performance “version two” to replace it. That would be completely consistent with the evidence we see. > But even if that turns out to be true, it still mean…

> But even if that turns out to be true, it still means programmers have to care about performance!

Who is he even talking to at this point? He's arguing that performance has more than 0% relevance to software, which no-one on disagrees with.

>claims there is no argument to be had, and that performance somehow won’t matter anywhere in a product lifecycle

No-one says performance never matters. People disagree on what performance merits optimization. A 5s to 1s page load improvement is massive, a .5s to .1s improvement starts hitting diminishing returns in user experience.

Re: Performance excuses debunked

#13
There's often a lot of low hanging performance fruits when writing code.

Need to loop over some order lines and find distinct article numbers? Use a hash-based set with O(1) access, not just a list which will have O(n). If not you'll end up writing an O(n^2) routine for no good reason, which will work swimmingly on you 10 line test order and cause grief in production.

I don't think a lot about performance most of the time, just enough to try to avoid silly stuff.

Re: Performance excuses debunked

#14
post #11

Earlier quoted context omitted.

Did you read the same article I did? He explicitly states exactly that: > For example, one argument would be that the evidence I’ve presented here is consistent with a strategy of quickly shipping “version one” with poor performance, then starting work on a high-performance “version two” to replace it. That would be completely consistent with the evidence we see. > But even if that turns out to be true, it still mean…

> But even if that turns out to be true, it still means programmers have to care about performance! Who is he even talking to at this point? He's arguing that performance has more than 0% relevance to software, which no-one on disagrees with. >claims there is no argument to be had, and that performance somehow won’t matter anywhere in a product lifecycle No-one says performance never matters. People disagree on what…

Yes, there are definitely people who argue that performance never matters.

And the research Facebook (and others) have done clearly shows that a half–second loading time on a webpage loses them a lot of money. So much money that they were willing to have dozens to hundreds of engineers work for years to fix it across all of their apps and their web servers and apis. Presumably it costs a small–time business a similar percentage, but if that’s not enough money to justify paying a developer to fix the problem then by all means spend the money elsewhere.

Re: Performance excuses debunked

#15
post #14

Earlier quoted context omitted.

> But even if that turns out to be true, it still means programmers have to care about performance! Who is he even talking to at this point? He's arguing that performance has more than 0% relevance to software, which no-one on disagrees with. >claims there is no argument to be had, and that performance somehow won’t matter anywhere in a product lifecycle No-one says performance never matters. People disagree on what…

Yes, there are definitely people who argue that performance never matters. And the research Facebook (and others) have done clearly shows that a half–second loading time on a webpage loses them a lot of money. So much money that they were willing to have dozens to hundreds of engineers work for years to fix it across all of their apps and their web servers and apis. Presumably it costs a small–time business a similar…

>Yes, there are definitely people who argue that performance never matters.

Never seen one, post an example.

>half–second loading time on a webpage loses them a lot of money.

I didn't say milliseconds don't matter, I said it was diminishing returns. The size of those returns depend on the business. For Facebook it matters because users have other options to use their attention on such as Youtube and other social media. A B2B SaaS such as some CI/CD tool can care less about it because their users have lock in, they can't just switch tab to a different CI/CD tool and start using it immediately. So the threshold of acceptable performance depends entirely on the use case, which the author keeps ignoring to fight strawman absolutist arguments instead.

Re: Performance excuses debunked

#16
post #8
post #6

I kind of wish Casey would stop making these videos. I'm being completely serious when I say that this kind of knowledge and mindset gives you pretty much a superpower in the industry. Everywhere I go people think I am amazing, even though I just know a few things about performance and low level programming (like, enough to be amazing for "mere mortals", but someone at RAD would snicker at my knowledge). If the indus…

I know what you mean; I’ve made a lot of money by cleaning up other people’s messes. Still, I’m pretty sure I’d prefer a world where software was just better overall and there were fewer messes.

I had a two year stint where I ran around doing "database optimisation" projects that were a week of billable time at consulting rates, and my entire "toolkit" was to simply flip three boolean flags from bad to good values.

Now in the public cloud my gimmick is to switch VMs over to current-generation AMD EPYC models, and then collect my pay-check for the "performance tuning".

The fruit is hanging so low that I'm trampling over it. There's no actual fruit picking going on.

Re: Performance excuses debunked

#17
Scale / data set size tends to expose performance issues. But that's a good problem to have.

Yes, it would be great if all developers could write performant code, but let's face it - there's only so many hours in a day and days in a week. Developers already struggle to keep up with all the required knowledge. It's not that people don't want to be competent. We're building more and more complex things while expanding the number of people employed building software which means average skill level is probably slightly decreasing.

Re: Performance excuses debunked

#18
post #11

Obviously performance matters, it's just a question of opportunity cost. The article just takes some absolute statements about performance not mattering and argues against them, which is obvious and pointless. They ignore that the benefit/cost ratio for Facebook's performance improvements is vastly different to that of the average software company with tens of employees and some SaaS CRUD app. Their own example of Ub…

Did you read the same article I did? He explicitly states exactly that: > For example, one argument would be that the evidence I’ve presented here is consistent with a strategy of quickly shipping “version one” with poor performance, then starting work on a high-performance “version two” to replace it. That would be completely consistent with the evidence we see. > But even if that turns out to be true, it still mean…

The problem is he has presented strawman arguments. If you are genuinely arguing with someone who believes performance never matters, stop arguing, you won't change that person's mind.

Generally you will be arguing with a person who is considering the opportunity cost, but has considered it so many times and performance always lost, so they start saying (but not meaning literally) never.

To this person you need to make the argument, "This time is different because..." and avoid the strawman arguments from the article.

Re: Performance excuses debunked

#19

There's often a lot of low hanging performance fruits when writing code. Need to loop over some order lines and find distinct article numbers? Use a hash-based set with O(1) access, not just a list which will have O(n). If not you'll end up writing an O(n^2) routine for no good reason, which will work swimmingly on you 10 line test order and cause grief in production. I don't think a lot about performance most of the…

Even better; let the database handle it if you have one, calling tons of extra data down the pipe is very slow compared to even slow iteration, and even the slow iteration is often fast if you only pull relevant data

Re: Performance excuses debunked

#20
Starts off with premise of why performance matters and why you should care. Proceeds to only top 10 biggest tech companies as examples. Are you working in a FAANG? If not, this article does nothing to convince me that I should care about performance (even though I kinda do).
Post reply on HN