4 ms·
Fib(15) is just 610, so no big int involved. As a quick double-check, fib(n)< 2^(n-1) and 2^14 is 16384.
by bonzini 2y ago
Fib(15) is just 610, so no big int involved.
As a quick double-check, fib(n)< 2^(n-1) and 2^14 is 16384.
- groos 2y agoThis is not the Fibonoacci sequence because the first two terms are 0 and hence the entire sequence is 0.
- bonzini 2y agoIndeed, the Fibonacci sequence is in the original benchmark and Fib(15) is not benchmarking big integer performance. It should have the same characteristics as the always-zero function.
- spinningslate 2y agoI think gp's point is that bif[n_] == 0 for all n_. A 'smart' optimser would recognise this and so the time to compute would be (a) constant irrespective of the value of n_, and (b) instantaneous because the function call can be re-rewritten as the constant value 0.
- bonzini 2y agoUnderstood, and my point is that user Someone suggested "bif" as a way to avoid testing bigint performance; but fib[15] does not test bigint performance. So using bif is unnecessary and potentially harmful if it's optimized to zero.
- Someone 2y agoApologies. Miss-interpreted the ‘1000’ while skimming the code.