Pisano period: Difference between revisions

m
→‎{{header|Phix}}: Added timing comparison
(Attempt at rephrasing the task header to be clearer.)
m (→‎{{header|Phix}}: Added timing comparison)
Line 507:
procedure p(integer k, lim)
-- test harness
printf(1,"pisanoPrimes")
integer pdx = 1, c = 0
Line 526 ⟶ 527:
for n=2 to 180 do p180 &= pisano(n) end for
printf(1,"pisano(2..180):\n")
pp(p180,{pp_IntFmt,"%4d",pp_IntCh,false})</lang>
 
printf(1,"\nTiming comparison:\n")
for i=1 to 2 do
atom t0 = time()
string fn = {"pisano_period","pisano"}[i],
via = {"",", via pisanoPrime()"}[i]
integer f = routine_id(fn)
for n=2 to 10000 do
{} = f(n)
end for
t0 = time()-t0
printf(1,"%s(2..10000)%s:%s\n",{fn,via,elapsed(t0)})
end for</lang>
{{out}}
<pre>
Line 550 ⟶ 564:
36, 72, 240, 60, 168, 316, 78, 216, 240, 48, 216, 328, 120, 40, 168,
336, 48, 364, 180, 72, 264, 348, 168, 400, 120, 232, 132, 178, 120}
 
Timing comparison:
pisano_period(2..10000):8.9s
pisano(2..10000), via pisanoPrime():3.4s
</pre>
 
7,820

edits