http://www.perlmonks.org?node_id=399080


in reply to Re: Triangle Numbers Revisited
in thread Triangle Numbers Revisited

FoxtrotUniform,
The trouble with selecting a single number to benchmark from is that it may favor one method over the other. With this in mind, I created another rudimentary benchmark that shows the two methods are fairly equal:

First generate 5,000 random numbers between 1 .. 5_000_000

$ cat gen_targets.pl #!/usr/bin/perl use strict; use warnings; my $file = $ARGV[0] || 'targets.txt'; open (OUTPUT, '>', $file) or die "Unable to open $file for writing : $ +!"; print OUTPUT int rand 5_000_000, "\n" for 1 .. 5_000;

Next, I just modified our 2 scripts as follows:

my $file = $ARGV[0] || 'targets.txt'; open (INPUT, '<', $file) or die "Unable to open $file for reading : $! +"; while ( <INPUT> ) { chomp; get_three( $_ ); # used your sub/calling convention }

And finally, the results:

$ time ./lr.pl real 1m0.706s user 1m0.416s sys 0m0.080s $ time ./fu.pl real 1m0.791s user 1m0.326s sys 0m0.220s
I haven't spent any time thinking about optimizations, but if I come up with any tomorrow I will post it along with a "real" benchmark.

Cheers - L~R

Replies are listed 'Best First'.
Re^3: Triangle Numbers Revisited
by FoxtrotUniform (Prior) on Oct 14, 2004 at 04:43 UTC
    The trouble with selecting a single number to benchmark from is that it may favor one method over the other.

    Good catch. Another problem I ran into was that the load on my test system was varying (lab machine, someone was logged in remotely doing a bunch of matlab foolery), so I ended up getting quite different "real" time results with the same input... which is probably what a casual reader would check.

    It would be interesting to know what kinds of inputs favour whose method, and (ideally) why.

    --
    Yours in pedantry,
    F o x t r o t U n i f o r m