#!/usr/bin/perl use lib "../lib"; use Bucky; tie my $timer, 'Time::Stopwatch'; print_timer($timer, "Initialized"); my $i = 0; my $old_t = 0; while (1) { $i++; my $bucky = new Bucky; my $threads = $bucky->db->select("comments","id > ".int rand 4598); if ($timer > $old_t) { $old_t++; print_timer($timer, "$i done, ".(sprintf("%.02f",$i/$timer))."/s"); } } sub print_timer { print sprintf "%3.2f s %s\n", shift, shift; } ################################################3 package Time::Stopwatch; my $VERSION = '1.00'; use strict; use constant HIRES => eval { local $SIG{__DIE__}; require Time::HiRes }; sub TIESCALAR { my $pkg = shift; my $time = (HIRES ? Time::HiRes::time() : time()) - (@_ ? shift() : 0); bless \$time, $pkg; } sub FETCH { (HIRES ? Time::HiRes::time() : time()) - ${$_[0]}; } sub STORE { ${$_[0]} = (HIRES ? Time::HiRes::time() : time()) - $_[1]; } 1;