Hacker News new | ask | show | jobs
by scott_s 4476 days ago
Performance is hard, but we should all be working together towards the things that matter the most. Latency is more important to optimize than throughput. Let's just focus on that.

I believe this is naive. First, it has no context. You optimize for what you need; there is no absolute best thing. If you have fantastic latency, but your throughput is not good enough to meet your needs, then, no, latency is not more important.

Second, while we tend to trade latency for throughput, it's not an even trade. That is, we tend to trade a small increase in latency for a large increase in throughput.

The insight the author had is a good one (although as others have pointed out, we've realized it before), but I think he oversold the conclusions.

2 comments

> You optimize for what you need; there is no absolute best thing. If you have fantastic latency, but your throughput is not good enough to meet your needs, then, no, latency is not more important.

The whole point of this post is that if you have low latency, there are easy ways to trade it away for better throughput. Whereas there are not easy ways to trade high throughput for better latency. And, therefore, latency is fundamentally more important.

And my point is that absent knowing what your needs are, it's silly to talk about what is "more important". Because of the lopsided nature of the tradeoff (small latency harm for big throughput gain), it's dangerous to keep around "latency is more important" as a mantra.
"But it's always either reversing one of the tricks above, or exploiting some domain-specific parallelism."

That's kind of the point of a genuine tradeoff: you reverse what you did to improve one to improve the other. But when you say, "we tend to trade a small increase in latency for a large increase in throughput", you have the heart of what the author is complaining about. If you reverse a small increase of latency/large increase in throughput, you get a large decrease in throughput for only a small decrease in latency. To decrease latency, you have to do something else, making it the factor to watch.

Just because it's harder, doesn't mean it's more important. That's my complaint: the author has jumped from an observation to a value judgement.