4 ms·
This article fails to recognize the difference between throughput and latency. A single queue optimizes for latency, since slow customers don't stall the ones b
by neild 10y ago
This article fails to recognize the difference between throughput and latency. A single queue optimizes for latency, since slow customers don't stall the ones behind them. If cashiers work faster in a multiple queue setup, then this configuration will optimize for throughput while still losing at latency.
As a customer, all you care about is latency: How long you spend waiting in line. As a store owner, you also care about throughput: How many cashiers you need to process some number of customers per unit time. A store owner that cares about customer satisfaction will still care about latency, of course.
- ThrustVectoring 10y agoHigher throughput necessarily means lower average latency. Little's Law. What the single queue helps with is reducing the variance of latency. That, and it makes handling more involved interactions easier to do without inconveniencing people waiting behind them.
- deleted 10y ago[deleted]
- barrkel 10y agoHigher throughput does not imply lower average latency. Think pipelining with lots of parallelism. Think of a system that makes everyone wait for ten minutes then sends them to one of a million cashiers. Such a system would have enormous throughput with very high latency. Little's law doesn't imply what you said, either. It tells us the number of people in the system based on arrival and wait, but nothing about throughput.
- ThrustVectoring 10y agoIf the number of people in the system remains constant over time, then you can measure throughput by counting the rate at which people either arrive or get processed. And you're right about throughput, I was implicitly holding the number of people in the queue constant, and you can obviously add arbitrary delays and increase the number of people in queue without touching throughput.
- mabbo 10y agoOnly matters if you care about average latency. Just like the website load times, you should be focused on the 99th percentile and the median. Single line reduces those metrics. Really this boils down to whether the business is interested in saving a bit of money (fewer cashiers per purchase) or improving customer experience.
- ThrustVectoring 10y agoOccasionally causing large delays while maintaining the same mean response time will increase the 99th percentile and lower the median. The metric you want is to figure out what wait time constitutes good/acceptable/bad service, and what percentage of people get that service.