Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

Actually, you should do better than 30% loss due to the non-linearity:

    1 - 0.97**10
    => 0.2625758731050719


sort by: page size:

30% loss from 100 is 70.

30% of 70 is 21. So a 30% gain at 70 gets you to 91.

1/.7 = 1.429


Actually just look at the controls in this paper:

  Fig 1b: 0.31%
  Fig 3b: 1.12%
  Fig 4b: 0.18%

  So trying to extract 110% performance from today when it
  means having only 70% performance available tomorrow is a
  bad deal. You end up with just 77% of your available peak.
Uh, not quite: x(1.1) + x(0.7) != 0.77(2x). Reminds me of the fuzzy math in DHH's startup revenue calculations...

>Imagine that you could shave 3% off its rate, say, turn 7% into 4%

That's not how percentages work! 7% would turn into ~6.8% if you shave 3% from it.


That's not what the article is about - but try scaling it back to 50% and see if it results in 50% drop. The graphs show that the relationship is probably very nonlinear

So in total it's about a 2% shift which would reverse the current result percentages.

No, it wouldn't. Your maths is off by about a factor of two, one way or another.


I would advise against concluding anything with < 20% gain, the changes often impacts readability (the intention becomes less clear) and might as well be measurement errors or just be insignificant for any sort of real application. Not to mention, of course, these measurements are specific to a given system, implementation, etc.

Extra 133%, not extra 33%.

So from 4% to 9.33%, not 5.33%


The chart is kind of weird though. If there's 10% from charging loss, let alone from the other uses, how can you get back to 91%?

Wow, I wouldn't have expected that. Do you have a reference for the 30%? I'd like to see what is going on to cause that big of a difference.

This is a really neat article. One thing: the author falls victim to a common, unfortunate mistake in calculating the percentage gains: ...120 cycles. That’s a 30-percent speed-up. and then ...98 cycles. Compared to the original code, that’s 60 percent faster.

The right way to calculate this figure is (t1 - t0)/t0, rather than the author's formula which seems to be (t1 - t0)/t1. For instance: (157 - 98)/98 = 60%, but the actual amount is (157 - 98)/157 = a 38% speed up. A heuristic: 60% of 157 will be much more than 60 (since 60% of 100 = 60), which means a 60% speed up would reduce the speed to below 97 cycles.

It gets even more misleading the more efficient it gets: Adding up the cycles, the total was just 1689. I had shaved almost 1200 cycles off of my friend’s code. That’s a 70 percent speed-up! The author has 1200/1689 = 71%, but the correct numbers yield 1200/(1689+1200) = 42%.

Not that I don't think these are significant gains, but it's just misleading to label them like this. If you've removed less than half the cycles, there's no way you've seen a 70% speed up.


Math: 30% drop means going from 100 to 70. Now to get back up to 100, you need a 43% gain (30/70).

Actually, 25% is the right way to judge this improvement. For example, let's say performance was currently at 99.9% and you improve it to 99.99%. That's not a 0.09% improvement (99.99 - 99.9), but rather a ten-fold improvement (.01% errors vs 0.1% errors).

This has to do with the fact that accuracy/errors are not linear.


Yeah, going from 18.80 to 34.47 would be an 83% increase.

But going from 34.47 to 18.80 is a 45% decrease.

As to your question about whether this is some sort of acceptable alternative way to calculate percentage decrease ... no, this is just a math error.


Not if it's -0.1%.

If I understand your calculation, it seems like the lower bound is around 0.03%, not 0.0004%.

You should maximize the geometric EV, not the (usual) arithmetic EV. In your average calculation you took the arithmetic mean, but the geometric mean is relevant.

(2.25 * 0.9 * 0.9 * 0.36)^(1/4)

=0.9

Which is below 1!

To test the geometric mean with the earlier example ("+100% is equivalent to -50%"):

(2.0 * 0.5)^(1/2)

=1, as expected.


It's actually 42.9% more. 1 / (1 - 0.3) = about 1.429.

I know, I'm just using compression as an argument to show how significant 30%+ is.
next

Legal | privacy