4 ms·
> And it's faster if and only if you're repeating division by a single number since you're still doing the equivalent of divide to get the invest This is done
by yakubin 6y ago
> And it's faster if and only if you're repeating division by a single number since you're still doing the equivalent of divide to get the invest
This is done at compile-time by the compiler. We're talking about division by a constant, not by a variable. So it's always faster.
- joe_the_user 6y agoDoing compile time is one way it is useful and I think that's the most common thing - that's why the tutorials show the resulting assembly instructions. However there are other ways the trick can be used. If the compiler (or the programmer) determines that the program will be doing repeated division by a single quantity (say in a loop), you substitution a calculation of the multiplicative inverse of the quantity first and then substitute multiplication by that inverse for the repeated for the divisions. So you can extend things beyond just division by a constant.