Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^5: Mark Jason Dominus And Me - The Partition Problem

by Tommy (Chaplain)
on Nov 19, 2012 at 23:27 UTC ( #1004635=note: print w/ replies, xml ) Need Help??


in reply to Re^4: Mark Jason Dominus And Me - The Partition Problem
in thread Mark Jason Dominus And Me - The Partition Problem

INTERESTING!

Maybe it doesn't hurt to program the way your brain really thinks...at least not this time. You see, I stripped down the MJD code to its barest form, exactly from the book. Then I removed the print statements from my own version which was just shared in the node previous to this node.

Surprise: despite the fact that I'm passing around a reference to my "$share" with each call, my code benches twice as fast. I'm betting it's because I'm not constantly recalculating the "$target".

Anyway, here's the benchmarks. I wonder what conclusions could be drawn. If I cared more, I'd run it through Devel::NYTprof and find out what's really going on and why it's faster to do it the way that makes the most sense to my dyslexic brain:

$ perl ./find_shares_myway_2.pl Benchmark: timing 500000 iterations of test1... test1: 16 wallclock secs (15.43 usr + 0.00 sys = 15.43 CPU) @ 32 +404.41/s (n=500000) $VAR1 = { 'test1' => bless( [ 16, '15.43', 0, 0, 0, 500000 ], 'Benchmark' ) }; $ perl ./find_shares.pl Benchmark: timing 500000 iterations of test1... test1: 31 wallclock secs (30.10 usr + 0.02 sys = 30.12 CPU) @ 16 +600.27/s (n=500000) $VAR1 = { 'test1' => bless( [ 31, '30.1', '0.02', 0, 0, 500000 ], 'Benchmark' ) };
--
Tommy
$ perl -MMIME::Base64 -e 'print decode_base64 "YWNlQHRvbW15YnV0bGVyLm1lCg=="'


Comment on Re^5: Mark Jason Dominus And Me - The Partition Problem
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1004635]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (13)
As of 2015-07-06 22:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (83 votes), past polls