On Sat, Mar 12, 2005 at 11:02:45PM +0000, Mark Stosberg wrote:
> My solution?
> 
>     my $out = `time $bin diff 1/1 2>&1`;
> 
>    # XXX Parsing of time output may be fragile
>    $out =~ m/\s*([\d\.]*\s+real.*)/;
> 
> Ouch.
> 
> Perhaps my whole approach is wrong. Am I overlooking a good open source
> tool to benchmark binaries with? 
> 
> What better ways are there to benchmark system calls from Perl? 

Well, if you're just going to look at the wall clock, why use the shell?

        my $start_time = time;
        `$bin diff 1/1 2>&1`;
        my $end_time = time;
        my $time = $end_time - $start_time;

If you throw Time::HiRes in there you can get fractional second granularity.

There is also a benchmarking module cunningly named "Benchmark" which you
should have a look at.

Reply via email to