News for hackers. Stuff that matters.
Re:Efficiency is dangerous and slowing down makes life better by Taek on Friday August 21, 2020 @02:06PM (#24237341)
This comment thread is making me realize we don't have a good word to distinguish between efficiency as in "we only have 7 hospital beds because that's all we need on 99% of each day" and efficiency as in "we replaced steps X,Y,Z with just step X', because we found that X' could accomplish everything that XYZ could accomplish but it's faster, more accurate, and cheaper".

One makes a tradeoff by reducing overheads and buffers, and the other doesn't have any tradeoffs, it's just a better way of doing things based on novel techniques.

Re:Efficiency is dangerous and slowing down makes life better by war1025 on Friday August 21, 2020 @03:02PM (#24237835)
This seems like it sort of ties in with NN Taleb's idea of "Anti-fragile" [1].

Perhaps also Chesterton's fence [2].

Maybe also the whole premature-optimization thing [3].

And of course the too-clever-by-half coyotes [4].

Really maybe it just comes down to "be wary of making changes that reduce resiliency."

I was hoping to come up with something cohesive with this comment, but really I guess I just agree with what you say.

And I think there are a bunch of people sort of circling around the same idea, which I don't think we've really quite landed on a precise definition of, just as you say.

[1] https://en.wikipedia.org/wiki/Antifragility

[2] https://en.wikipedia.org/wiki/G._K._Chesterton#Chesterton's_...

[3] https://en.wikipedia.org/wiki/Program_optimization#When_to_o...

[4] https://www.epsilontheory.com/too-clever-by-half/

Re:Efficiency is dangerous and slowing down makes life better by adwn on Saturday August 22, 2020 @11:11AM (#24244641)
> [4] https://www.epsilontheory.com/too-clever-by-half/

Thank you for this link. I'm halfway through that article and will probably read every single one on that website.

Re:Efficiency is dangerous and slowing down makes life better by O_H_E on Friday August 21, 2020 @06:36PM (#24239598)
I love this comment on so many levels ;D
Re:Efficiency is dangerous and slowing down makes life better by plutonorm on Saturday August 22, 2020 @12:03AM (#24241446)
epsilontheory.com I love every article I have read so far. It's really expanding me. Thanks for sharing.
Re:Efficiency is dangerous and slowing down makes life better by jariel on Saturday August 22, 2020 @04:25AM (#24242648)
Unfortunately, it's probably quite wrong.

He uses the analogy of 'too clever by half' to exemplify his idea that 'financial innovation is always wrong'.

Nothing could be further from the truth. Insurance products have changed the world just as much as any technical innovation.

Mortgaged backed securities are not a bad thing, far from it, they allow more efficient use of capital by having 'saving Germans and Japanese' invest their money where they otherwise would not be able to.

The problem in the 2008 crash was soft systematic corruption and un-ironically a lack of fragility (ie one bank goes down it takes the rest down like dominos) - not necessarily the securities themselves for which he didn't actually even provide any basis of his negative assertion.

Efficiency is usually how we gain productivity and it's borderline absurd to say there is inherently something wrong with it on the whole. Like anything 'it depends'.

If you can have a software algorithm outperform 100 analysts on weather predictions for your fleet of drivers ... that's probably efficient. But cutting down operating margins so that any bump in the economy will leave you flat is maybe 'over optimisation'.

Re:Efficiency is dangerous and slowing down makes life better by war1025 on Saturday August 22, 2020 @08:49AM (#24243767)
> He uses the analogy of 'too clever by half' to exemplify his idea that 'financial innovation is always wrong'.

I don't really have a horse in this race, but I think you're misreading the article.

He says: "Every truly disruptive discovery or innovation in history is the work of coyotes. It’s always the non-domesticated schemers who come up with the Idea That Changes Things. We all know the type. Many of the readers of this note ARE the type."

That's not a criticism, that's a point of praise.

He then follows it up immediately by saying: "Financial innovation is no exception. And this is Reason #1 why financial innovation ALWAYS ends in tears, because coyotes are too clever by half. They figure out a brilliant way to win at the mini-game that they’re immersed in, and they ignore the meta-game. Eventually the meta-game blows up on them, and they’re toast."

That isn't saying it's a bad thing, it's saying that the people who come up with the new ideas lose sight of the broader picture and get taken out by "the thieving raccoons" and the State.

He's saying "the coyotes" lose sight of the broader picture, just like in the famed XKCD [1] where the "too-clever-by-half" computer person encrypts all their data, and forgets that the thug who is going to come looking for it will just beat the piss out of them with a wrench until they turn over the key.

The core nugget of the article, in my opinion, is exactly the "meta-game is what always gets you" aspect.

It's the same thing that NN Taleb refers to as "2nd order effects."

[1] https://xkcd.com/538/

Re:Efficiency is dangerous and slowing down makes life better by bobwernstein on Saturday August 22, 2020 @10:40AM (#24244437)
the way you wrote this comment, with the sources fully visable at the bottom, amazing. I will start doing this myself.
Re:Efficiency is dangerous and slowing down makes life better by mjohn on Friday August 21, 2020 @02:22PM (#24237470)
In economics we would call the latter a Pareto improvement - ie an efficiency improvement without any trade off
Re:Efficiency is dangerous and slowing down makes life better by nnutter on Friday August 21, 2020 @02:40PM (#24237650)
Re:Efficiency is dangerous and slowing down makes life better by milesskorpen on Friday August 21, 2020 @02:11PM (#24237385)
I don’t know if those two things are as different as you suggest. Multiple steps add redundancy, if you fail one step you can get much of the value from other steps. More steps are frequently added in response to edge cases.

Could be a Chesterton’s Fence scenario

Instead of bemoaning efficiency, it’d be interesting to reward/value redundancy and antifragility, at least at the system level.

I think this could mean trust busting, regulation, and general cultural shifts.

Re:Efficiency is dangerous and slowing down makes life better by Jtsummers on Friday August 21, 2020 @02:24PM (#24237494)
Multiple steps don't always add redundancy, sometimes they're just noise or artifacts. I had a colleague who, when opening a file, would first click on the Windows desktop, then "My Computer", then navigate to the directory, open the file, and close the Explorer window.

There was zero redundancy versus leaving the directory open so they could open the next file (or using the application's "Open File" dialog).

That is a perfect example of wasteful motion (in their case due to a poor mental model of how computers worked, as I learned through later discussions) that could be simplified significantly without loss of quality or redundancy in the system.

Contrast this with: The surgical office called me this morning and stated, "The surgery is for a ganglion cyst on your left wrist." Which I confirmed. When I go in on Tuesday for the surgery this will be repeated, and a mark will be made on the area to be cut open (though in this case it'd be really hard to screw up and open the right wrist, as there is no, quite visible, cyst there). That is useful redundancy of the sort you describe. Removing any step (the initial visit a week ago, the call today, the check when I arrive, the mark on the wrist) and you increase the risk of error.

Re:Efficiency is dangerous and slowing down makes life better by grasshopperpurp on Friday August 21, 2020 @03:10PM (#24237915)
Lots of good examples in sports, where wasted movements lead to failure, particularly at the higher levels
Re:Efficiency is dangerous and slowing down makes life better by Jtsummers on Friday August 21, 2020 @03:18PM (#24237984)
Yep. Not even just sports games, but athletics and movement in general. Learning to avoid certain movements when running, swimming, or rowing is very important especially if the goal shifts from complete a short distance as fast as possible to complete a long distance in a reasonable time (and often the more efficient form for long distance translates into faster short distance results as well).
Re:Efficiency is dangerous and slowing down makes life better by pchristensen on Friday August 21, 2020 @02:47PM (#24237715)
My favorite story about unintended consequences of process improvement is the Vienna Sausage Factory: https://medium.com/dangerous-kitchen/vienna-sausages-a-guy-n...

Punch line - Sausages coming from a new modern factory didn't taste the same. The new, more efficient building removed a long transportation step where the partially finished sausages picked up flavors and scents coming from different parts of the factory. They had to create a new process to manually add those flavors that they were accidentally getting for free from the old factory layout.

Re:Efficiency is dangerous and slowing down makes life better by smabie on Friday August 21, 2020 @05:46PM (#24239210)
I wasn't aware Vienna sausage had any flavor in the first place. In my view, Vienna sausage is in the same category of food as spam, baloney, and wonder bread: total garbage.
Re:Efficiency is dangerous and slowing down makes life better by dpc_pw on Friday August 21, 2020 @06:16PM (#24239443)
Wrong. Quality sausages are awesome. Btw. There exist high quality spams as well. Never seen one in USA though.
Re:Efficiency is dangerous and slowing down makes life better by smabie on Friday August 21, 2020 @06:30PM (#24239548)
No, i mean the Vienna sausage brand. Of course there's amazing sausage
Re:Efficiency is dangerous and slowing down makes life better by r00fus on Friday August 21, 2020 @02:19PM (#24237457)
As long as those steps Y & Z are actually adding redundancy/antifragility, then yes. If the purpose is some deprecated feature or dependency that simply serves no purpose or is now an anti-feature, it would be more efficient to remove.

It would be good to have proof of a Chesteron's Fence analysis to say "yes, we know that Y & Z purposes and have analized the cost/benefit to removing them and the populations/systems impacted" - would this be an impact analysis?

Re:Efficiency is dangerous and slowing down makes life better by dllthomas on Friday August 21, 2020 @03:31PM (#24238101)
In some scenarios, the process fails if all of the steps fail. In that case, redundancy is more stable, and you have a tension between stability and efficiency.

In other scenarios, the process fails if any of the steps fail. In that case, redundancy is less stable, and you can improve both stability and efficiency by eliminating unnecessary steps.

In either case, there may be other considerations involved as well (flexibility, visibility, recoverability...) but sometimes we just didn't see a better way to do something.

Re:Efficiency is dangerous and slowing down makes life better by Taek on Friday August 21, 2020 @02:29PM (#24237538)
There are obvious cases where you are improving efficiency without eliminating slack. I'm not making my application more fragile by rewriting an n^2 operation over a large dataset to an n*log(n) operation that provides the same output. It's a win without tradeoffs.

This type of example exists in all industries. For example, finding a new alloy that has strictly superior properties across all dimensions for a specific use case. Or upgrading mail delivery routes using better pathfinding algorithms. Etc.

Re:Efficiency is dangerous and slowing down makes life better by hansvm on Friday August 21, 2020 @03:24PM (#24238042)
> I'm not making my application more fragile by rewriting an O(n^2) operation over a large dataset to an O(n log(n)) operation that provides the same output. It's a win without tradeoffs.

Hopefully not nitpicking too much: it's a win without _many_ tradeoffs. E.g., in the usual places where you'd accidentally get an O(n^2) operation rather than O(n log(n)), the O(n^2) operation is constant-space. In a sufficiently anomalous computing environment with a low enough priority on fast results you might still consciously opt for the O(n^2) solution.

Re:Efficiency is dangerous and slowing down makes life better by Retric on Friday August 21, 2020 @03:41PM (#24238180)
Plenty of n log n operations are in constant space. Average Quicksort performance being perhaps the classic example. But most often you see these kinds of improvements by simply removing steps. Net result is less code, less memory use age, less of everything.
Re:Efficiency is dangerous and slowing down makes life better by hansvm on Friday August 21, 2020 @04:07PM (#24238404)
Yep, I'm not arguing that it's always a good idea (or even usually...or even that I've seen it be a good idea in the wild), just that it could be. Taking quicksort as an example, it's only constant space if you're allowed/able to mutate in-place. If you need (for some bizarre reason) to stream sorted results in constant space without mutating the underlying data then you'll need some other tool.
Re:Efficiency is dangerous and slowing down makes life better by brundolf on Friday August 21, 2020 @02:37PM (#24237612)
> the other doesn't have any tradeoffs, it's just a better way of doing things based on novel techniques

At least in the case of code, this isn't true. The variability comes in terms of change to the system, rather than the running of the system. i.e., if I simplify a process to be less modular and more monolithic, making it more efficient, that also makes it more purpose-built and less flexible. The "risk" increases of running up against a change that needs to be made but is intractably onerous. There's always a tradeoff.

Re:Efficiency is dangerous and slowing down makes life better by Jtsummers on Friday August 21, 2020 @03:02PM (#24237842)
I posted this in a similar thread yesterday:

> Fisher's Fundamental Theorem: The better adapted a system is to a particular environment, the less adaptable it is to new environments. -- Gerald Weinberg,"The Psychology of Computer Programming"

It's something everyone should consider in making critical design decisions. Your adaptable, modular system has some risks (particularly in terms of meeting performance targets, increased cost due to increased complexity), but the monolithic system has its own risks (less adaptable to changing requirements, potentially more fragile against attack or damage). Which you choose depends on many variables including your risk profile and anticipated need for change in the future.

Re:Efficiency is dangerous and slowing down makes life better by dllthomas on Friday August 21, 2020 @06:12PM (#24239411)
IMO, it seems like there's always a tradeoff once we've restricted ourselves to interesting options, because those options are interesting because they're not obviously dominated by other options.

If we consider any possible solution, we can obviously imagine adding a completely spurious detail.

Re:Efficiency is dangerous and slowing down makes life better by brundolf on Friday August 21, 2020 @06:17PM (#24239462)
That's fair
Re:Efficiency is dangerous and slowing down makes life better by Smaug123 on Friday August 21, 2020 @02:22PM (#24237478)
The former is the removal of slack to make a process more efficient: essentially trading slack for efficiency (making a sacrifice to Moloch!). The latter is more what I would term the removal of inefficiencies.
Re:Efficiency is dangerous and slowing down makes life better by kazinator on Friday August 21, 2020 @03:12PM (#24237936)
There are always tradeoffs. The discovery that X, Y, Z could be replaced by X required investigation, which is a cost, and then changes to be deployed which disruptions that also have a cost. If the deployment of the optimization doesn't recover the costs, then it ends up not worth it. Usually the cost is recouped because the optimization is discovered once, and then deployed on a large scale; but that is not always the case.
Re:Efficiency is dangerous and slowing down makes life better by dllthomas on Friday August 21, 2020 @04:14PM (#24238452)
I think considering the cost of change a cost of the optimized version is muddled thinking. It's a cost of deploying the optimized version, but that is only sometimes relevant.

A pure trade-off between efficiency and stability would imply that, were I already running the efficient version, we could buy stability by switching to the less efficient code.

Re:Efficiency is dangerous and slowing down makes life better by Double_Cast on Friday August 21, 2020 @02:35PM (#24237602)
* It's instructive to track the underlying resource. If technology_A saves you time, it's more time-efficient (aka quick). If technology_B saves you money, it's more cost-efficient (aka cheap).

* In game theory, "7 hospital beds" weakly dominates "8 hospital beds". But (x') strictly dominates (x, y, z). This is exactly what Pareto Optimality is about. Though perhaps a more colloquial term would be useful here.

Re:Efficiency is dangerous and slowing down makes life better by didibus on Friday August 21, 2020 @03:39PM (#24238168)
We do have a word, it's efficiency and productivity.

Efficiency produces the same output with less input.

Productivity produces more output with the same input.

So efficiency is a measure of input to target output, and productivity is a measure of output to target input.

To make a process more efficient, you figure out how to get to some X output while using as little input as possible.

To make a process more productive, you figure out how given some Y input, you can maximize your output.

Re:Efficiency is dangerous and slowing down makes life better by baddox on Friday August 21, 2020 @04:13PM (#24238447)
The first example about hospital capacity really just involves tradeoffs around your specific goals, whereas it only makes sense to talk rigorously about efficiency in the context of some specific output goal.

So if you fix some goal, say, "we want to be over capacity 1% of the time," then the most efficient way of doing that is probably to have the minimum number of beds that you need according to your predictions about utilization. But you can't really talk about efficiency when you're deciding what your goal is, e.g. whether you're okay being over capacity 10% of the time versus 1% of the time.

Re:Efficiency is dangerous and slowing down makes life better by didibus on Friday August 21, 2020 @04:51PM (#24238768)
Yes, efficiency requires a fixed output goal. Because you want to minimize input while sustaining your desired output target.

For example, how can I make all of today's deliveries with less delivery trucks?

While productivity requires a fixed input goal. Because you want to maximize output while sustaining your desired input goal.

For example, how can I deliver more products per day without increasing the size of my delivery truck fleet?

Often time, improving one can improve the other, but not always. For example, someone could ask, how can we grow profit? Okay, one way is to be more efficient, thus spend less money to make the same revenue. Alright, maybe we use cheaper materials, so now produce the same amount and sell the same, but our margin has increased and we make more revenue. Someone else could say, we need to be more productive. Okay, so you invest in better marketing, and scale production to meet increased demand. You are as efficient as before, but more productive.

So I feel like, reducing the process from X,Y,Z to only X is about productivity. You still have the same number of employees, but since they don't need to waste time doing Y and Z anymore, they can produce more output. That said, you could choose to apply the gains to efficiency as well, for example, hey, because I eliminated Y and Z, I can now cut my workforce in half and deliver the same output.

Re:Efficiency is dangerous and slowing down makes life better by hinkley on Friday August 21, 2020 @05:19PM (#24238984)
There's also efficiency like "I picked up some extra screws at Home Depot because I wasn't sure if I had any at home".

Having ways to avoid an unanticipated repetition of a process, which would result in bunging up the works for dependent parts of the system, can make the entire flow more efficient. See also 'drum buffer rope' from constraint theory.

Re:Efficiency is dangerous and slowing down makes life better by throwaway_pdp09 on Friday August 21, 2020 @02:23PM (#24237486)
> ...and efficiency as in "we replaced steps X,Y,Z with just step X', because we found that X' could accomplish everything that XYZ could accomplish but it's faster, more accurate, and cheaper".

optimisation.

Re:Efficiency is dangerous and slowing down makes life better by jcims on Friday August 21, 2020 @02:19PM (#24237448)
I agree it can get ambiguous but I think most of the time it's just framed differently and (to your point) are focused on different dimensions of efficiency.

For example, if your first statement was 'We only have seven beds because we tightened up our discharge workflow and that's all we need 99% of the time' and your second statement was 'We only have seven admins because we replaced steps X,Y,Z with just step X and that's all we need 99% of the time' they start to line up.

Re:Efficiency is dangerous and slowing down makes life better by rticesterp on Friday August 21, 2020 @04:50PM (#24238749)
It's also not as simple as adding 7 more beds so we have all we need on 99.999% of days. Sure you have 14 beds, but you also need more doctors, nurses, surgeons, OTs, etc. to support those beds. Those health care providers won't get the patient contact they need to maintain their skills as competent providers. I know as a part-time EMT if I don't go on a certain number of calls a month that I have a noticeable decline in my skills
Re:Efficiency is dangerous and slowing down makes life better by Jtsummers on Friday August 21, 2020 @05:32PM (#24239076)
At some point you must choose your bottlenecks. Excess physical capacity doesn't have to be used all the time (that is, there's no "currency" for a bed, and other equipment can be rotated through use and maintenance cycles). If you choose to constrain yourself with the number of beds needed for your 99% situation, then you can't expand beyond that without great difficulty. If you have physical capacity for your 99% situation x 2 or even just one or two extra beds, then you don't have to maintain full-time staff for it. You could extend staff hours, or bring part-time staffers to full-time hours, or bring in (with supervision) students from a nearby medical or nursing school to handle what they can and offload the burden for that 1% situation.
Re:Efficiency is dangerous and slowing down makes life better by wisty on Friday August 21, 2020 @07:15PM (#24239898)
A hospital can call a part-time EMT and ask them to work a few extra shifts due to some disaster. They can't ask them to bring a bed.
Re:Efficiency is dangerous and slowing down makes life better by ozim on Saturday August 22, 2020 @02:54AM (#24242269)
That is why kaizen is so nice because those are small improvements that you notice in daily operations.

The other one like bad efficiency I would just call "cost cutting measures" not efficiency improvements.

With kaizen you try to accommodate to what you have. So if Bob is slow cost cutting measure would be to fire him. Efficiency improvement way would be observing Bob to see what can be changed so you can get more value without messing him up.

Re:Efficiency is dangerous and slowing down makes life better by crdrost on Friday August 21, 2020 @02:38PM (#24237635)
It gets worse because even if one had precisely such a word, say the difference between ‘efficiency’ and ‘superlativity’ respectively, it would not necessarily be as simple as to say “efficiency bad, superlativity good.” They morph into each other in complex systems.

Consider the paradox of finding that a factory crew has no inputs—they are playing cards waiting for an order to come in—and yelling at them to go do other things around the shop like clean and assist other operations, rather than loafing. Or, for another solution to the problem, you might pre-order all the stuff and make sure that the team is always 100% loaded and never has the free capacity to play cards.

At first blush these improve superlativity, no? We are accomplishing everything that card-playing does but we are “faster, more accurate, and cheaper” if we are measuring, say, labor cost per part and the technician time averaged over the parts they worked on. Have we not just found a “novel technique” which is “just a better way of doing things?”

But staring at it for longer you may find yourself less sure. That’s what I mean by complex systems they morph into each other. There are more subtle tradeoffs here. For example when people feel free to loaf when they have no work, you can walk into the shop and ask who’s loafing and why and how you can improve their situation so that they again have proper work to do. There is an increase in latency when that shipment finally comes in and all the workers need to be summoned from across the floor to handle it again. There may be mental fatigue from having to context-switch too much or from having to constantly work on just one thing with no breaks. Or maybe the teams that need whatever they are producing cannot finish their work fast enough, so all of the inventory produced by this team slowly grows until it fills 50% of your factory floor, until you only have a certain amount of space because that’s all you need on 99% of each day.

The point is that the greedy algorithm may fail. In a linear circuit, you short out some resistor with some wire, you know that current is going to move faster afterwards. But in a nonlinear circuit, you no longer know this. In the absolute simplest case, the increase in current rapidly breaks a fuse and everything grinds to a halt. In more complicated cases you have a feedback loop and the increased voltage from the short-circuit feeds back to the earlier stages to throttle the current coming through.

Same with weight loss. People think that they will eat fewer calories and they will therefore lose such-and-so amount of weight. Well, probably. But this is a complex system we are talking about. One of the first things that happens when you start burning the fat is that your body burns your muscle too. This is the same reason that you can't burn fat on your stomach by doing crunches, your system is sending the call out to your entire body that it needs to digest surplus material. The loss in muscle mass appears to be the primary culprit which kicks down your basal metabolic rate and you hit what weight-loss folks call a “wall” where you are literally cold all the time and wearing sweaters and feeling too cranky to exercise and all that, feedback mechanisms which will mean that if you keep eating that restricted amount of calories you won’t be losing any more weight unless you can “break through” it by keeping warm through exercising and thereby increasing your muscle mass back up to where it needs to be and so forth. It’s just that it’s a complex system and the greedy algorithm does not always work for such systems.

Re:Efficiency is dangerous and slowing down makes life better by wayoutthere on Friday August 21, 2020 @02:17PM (#24237435)
"Efficiency" can only be defined in terms of something else -- you can be optimizing throughput or optimizing costs and you'll end up at very different solutions. One is efficient with respect to waiting times, the other is efficient with respect to costs.

In your latter example, it could very well be the case that steps Y and Z had purposes you didn't take into account that makes the new process less efficient in some cases with respect to the target metric.

Either way, overoptimization and focus on specific metrics to the exclusion of others is a real problem. Circumstances change over time and high levels of optimization make processes more brittle and likely to fail when circumstances change.