17 comments

[ 5.4 ms ] story [ 46.4 ms ] thread
“ Ideally, the resource gets used at 100% of its capacity “

Really this is what people think? For me it’s always been the opposite, use as little as possible to leave a lot head room, as much as possible. That’s like saying a gas guzzling car is more efficient than one that uses much less fuel.

I think you and the author may be in agreement on this topic.

Following your example of cars, having a large gas-guzzling full-size truck when you drive by yourself 5 miles to the supermarket once a week would indicate that the vehicle is being used at a low percentage of its capacity. If it were loaded up hauling heavy equipment and materials, to and from jobsites for example, then it would be near 100% capacity.

For the weekly grocery run, it is wasteful to have this truck since it is used at low capacity. One would be better served with a much smaller vehicle, even perhaps one that is human-powered (such as a bicycle).

"Ideally, the resource gets used at 100% of its capacity: we have enough capacity to serve our needs without generating queues, but not so much that we’re wasting money on idle resources."

The large (expensive) truck only used on the grocery run would be wasting money on idle resources, since it is capable of doing much more work but is rarely used.

Car decays by age but mainly by miles. Sooner or later the car will have reached 100% capacity even if just used once a week. Which I think is a good point against the "efficency" idiom.

Taxis are on the other end of the spectrum.

Unfortunately yes, there are managers out there who act that way and seem to equate "efficiency" with time spent occupied doing work (whether useful or not, in the end). A widget making machine that's only producing 25% of its potential most of the time is waste, in their view, and so they want it to run at 100%. But that produces excess, potentially unconsumable if there is no demand, output.

Or, if given many widget machines and noting that only one or a few are "necessary" (in theory), they retool or sell off the excess (probably not all at once, it's a little-by-little thing). Which leaves them unable to handle excess production when it's needed, or to handle when one of the machines is down for maintenance or repairs (which it will need more often, it's running at 100% so will breakdown faster and there's no time to turn it off for regular maintenance).

I share a similar definition of efficiency with you. As my default sense of the word: minimal energy expenditure for maximal work.

Seems like people are mixing up utilization and efficiency.

High utilization can definitely lead to reduced efficiency.

This is a definition of (neoclassical) economic "efficiency", aka Pareto efficiency. Making sure that all resources available are all used up to maximum.

That's what they mean when they say "markets are efficient". Side effects of this ideology are stressed out people and destroyed planet.

Unless your unused resources cost you nothing, leaving a ton of "slack" or "head room" is inefficient because it's expensive.

To use your car analogy, it's like buying a car when you need transportation 1 day a year. That's inefficient because that resource is unused 99% of the time. Far smarter to get an Uber for one that day.

(comment deleted)
Unfortunately, yes. I encountered it with people, warehouses, machines... In all of those cases aiming for 100% is just a bad idea. People burn out or find creative ways to look busy, warehouses loose all flexibility and create a shit load of problems without breathing room, machines at 100% build an enormous maintenance backlog and mountains of WIP and inventory nobody needs (except for having the machine running close to 100%).

No idea why people actually think 100% utilization of any resource would be a good idea... I guess it helps if your 100% are including pointless meetings as part of "productive" time.

The idea of "Put stuff to good use" is terrible. It just causes people to invent more uses for things that would otherwise sit unused.

US and European engineering is SO loaded down with ideas about real substance and power. We make stuff with physical moving parts. We don't think at all about performance. We ignore highly optimized libraries to handcraft artisinal apps instead.

Nobody really sees it as a problem to use resources. We don't even care about keeping old hardware running.

Honest question, wouldnt putting things to good use mean that old hardware would be kept running? I think your first and last paragraphs seem to be contradictory.
That's true, but the only old hardware that actually seems to be kept running is old analog stuff, or things that probably shouldn't still be running, like kerosene lamps as actual everyday lighting and gas leafblowers at 6AM.

Everyone's priorities are so skewed towards tech being disposable and analog being valuable, nobody really seems to mind all that much if they have to upgrade hardware. Especially when until recently there really was a benefit because pre-2018ish Android phones and the like were kind of laggy.

A more depression-like "Use it up, wear it out" kind of mindset might make us be more up in arms when our phones stop getting updates, but if it also makes developers constantly want to push the capabilities of those machines it probably won't run that well.

The deprecated hardware thing might a separate issue though, devs and companies like to sell stuff, and don't really understand that a new phone is a major purchase for the rest of us.

It's partly solved now by purely brute force, hardware is now good enough that you can't make badly performing app unless you very aggressively refuse to care about performance whatsoever, just basic laziness isn't enough when all the frameworks are pretty optimized.

But it's still an issue on servers and definitely still an issue in the open source world, where everyone now tacks a coin onto everything and uses tons of electricity.

I wonder if this effect is behind why people seem so miserable nowadays. We spend all our time 100% efficiently engaging our eyes and brains with our phones and apps, and meanwhile all the other things in life just queue up behind reading just one more article.

On that note, I am stepping away from my computer!

> You can think of a team as a queueing system. Tasks arrive in your queue at random intervals, and they take unpredictable amounts of time to complete. Each member of the team is a processor, and when everybody’s working as hard as they can, the system is at 100% capacity.

Don't teams often have shared queues though (tickets, etc.)? Rather than queued work being pre-assigned to each person?

Depends on level of specialisation, but yes. The problem is the same, though: the only way to guarantee 100 % utilisation is to have a long queue of things waiting to be done so nobody runs out of work. But a long queue also means high latency.

In order to reduce latency, you have to have a short queue, which means people will run out of work sometimes and be idle.