[Jprogramming] Speed of power

Shaw, Ewart Ewart.Shaw at warwick.ac.uk
Mon Jan 27 14:45:47 UTC 2014


A recent thread moved to chat, "more fork examples", looks at timings
for high powers of BIGNUMs.  The following suggests a speedup is possible
(at least in J6.02, to which I'm restricted until my life settles down - sorry!)
---------------------------------------------------------------------------------------

intpower=: 3 : 0
2x intpower y
:
a=. 1 [ xp=. x
for_k. |. }. #: y do.
  if. k do. a=. a*xp end.
  xp=. *: xp
end.
a*xp
)

   ts 'p0=: 9223372036854775807x ^ 10000'
16.3665 5.43642e6
   ts 'p1=: 9223372036854775807x intpower 10000'
5.94679 1.71008e6
   p0 = p1
1

---------------------------------------------------------------------------------------
The current J6.02 timings are similar to what I get with an extra, redundant
xp=. *: xp  after the calculation.  Again apologies if this is sorted in J7/8.
Best wishes, Ewart

Ewart Shaw  (Dr. J.E.H.Shaw)       Department of Statistics, University of Warwick.


More information about the Programming mailing list