If you wanted to compute a very large long problem, that on a machine that you could buy today for an inflation adjusted price, will take some amount of years/decades. The issue is, if you only have that budget, and so can only purchase one machine. So if you purchase the machine now, it may actually take longer to compute than if you purchase one later, for the same inflation adjusted price, because of Moore's Law.
Moore's law states that machines will double in everything every two years, so, theoretically, a problem that takes m years to compute now, will only take m/2 years 2 years from now. The question is, how long should I wait to buy the machine, if I need to compute a problem that takes m years to compute, to get the optimal time of computation, which is inclusive of the time waited to buy the machine, and how much time does it take?
It is assumed both that I gain no money, and make just enough interest on my money to beat inflation, but no more, and also that Moore's Law continues ad infinitum.
some examples:
years | time-to-wait | time-it-takes |
---|---|---|
0 years | 0 seconds, buy now! | 0 years |
1 year | 0 seconds, buy now! | 1 year |
2 years | 0 seconds, buy now! | 2 years |
3 years | 0.1124 years | 2.998 years |
4 years | 0.9425 years | 3.828 years |
5 years | 1.5863 years | 4.472 years |
7 years | 2.557 years | 5.443 years |
8 years | 2.942 years | 5.828 years |
10 years | 3.586 years | 6.472 years |
20 years | 5.586 years | 8.472 years |
100 years | 10.23 years | 13.12 years |
1000000 years | 38.81 years | takes 39.70 years |
Code-golf, so shortest answer wins.
Desmos example text:
f\left(t\right)=N\cdot\left(\frac{1}{2}^{\frac{t}{2}}\right)+t
time-to-wait
of1000000 years
is off by 2 -> 36.81, not 38.81 \$\endgroup\$time-to-wait
andtime-it-takes
, right? \$\endgroup\$N
we have to be precise to and to what ±x%? \$\endgroup\$