Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re^5: Performance, Abstraction and HOP

by runrig (Abbot)
on Sep 14, 2005 at 22:21 UTC ( #492064=note: print w/replies, xml ) Need Help??

in reply to Re^4: Performance, Abstraction and HOP
in thread Performance, Abstraction and HOP

I'm not sure that a memory hogging recursive function makes for a fair benchmark of function calling speed (even if the tail recursion could be optimized away in another language -- and if the tail recursion could be optimized away, you wouldn't be calling the function anymore, you'd just be doing a goto). I think this version of is more fair (which attempts to test the speed of function calling rather than memory allocation):
#!/usr/bin/perl #sum of number between 1 and 1,000,000 $n = 1_000_000; my $t = 0; $t = addup( $t, $n-- ) while $n; print "$t\n"; sub addup { $_[0] + $_[1]; }
and then the two come out closer:
$ time ./ 500000500000 real 0m5.68s user 0m5.48s sys 0m0.02s $ time ./ 500000500000 real 0m1.48s user 0m1.47s sys 0m0.01s

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://492064]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (6)
As of 2018-01-20 15:16 GMT
Find Nodes?
    Voting Booth?
    How did you see in the new year?

    Results (226 votes). Check out past polls.