On Mon, Oct 07, 2019 at 08:43:31PM +0200, Rasmus Villemoes wrote:
On 07/10/2019 17.28, Daniel Thompson wrote:
quoted
On Thu, Sep 19, 2019 at 04:06:18PM +0200, Rasmus Villemoes wrote:
It feels like there is some rationale missing in the description here.
What is the benefit of replacing the explicit int_pow() with the
implicit multiplications?
Daniel.
quoted
We could (and a following patch will) change to use a power-of-2 scale,
but for a fixed small exponent of 3, there's no advantage in using
repeated squaring.
^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Apart from the function call overhead (and resulting register pressure
etc.), using int_pow is less efficient (for an exponent of 3, it ends up
doing four 64x64 multiplications instead of just two). But feel free to
drop it, I'm not going to pursue it further - it just seemed like a
sensible thing to do while I was optimizing the code anyway.
[At the time I wrote the patch, this was also the only user of int_pow
in the tree, so it also allowed removing int_pow altogether.]
To be honest the change is fine but the patch description doesn't make
sense if the only current purpose of the patch is as a optimization.
Daniel.