use Benchmark qw/:all/;
use lib 'lib';
use Redis;
+use Redis::Hash;
my $r = Redis->new;
+my %hash;
+tie %hash, 'Redis::Hash', 'hash';
+
+my $i = 0;
+
timethese( 100000, {
- 'ping' => sub { $r->ping },
- 'set' => sub { $r->set( 'bench-' . rand(), rand() ) },
- 'get' => sub { $r->get( 'bench-' . rand() ) },
- 'incr' => sub { $r->incr( 'bench-incr' ) },
- 'lpush' => sub { $r->lpush( 'bench-lpush', rand() ) },
- 'lpop' => sub { $r->lpop( 'bench-lpop' ) },
+ '00_ping' => sub { $r->ping },
+ '10_set' => sub { $r->set( 'foo', $i++ ) },
+ '11_set_r' => sub { $r->set( 'bench-' . rand(), rand() ) },
+ '20_get' => sub { $r->get( 'foo' ) },
+ '21_get_r' => sub { $r->get( 'bench-' . rand() ) },
+ '30_incr' => sub { $r->incr( 'counter' ) },
+ '30_incr_r' => sub { $r->incr( 'bench-' . rand() ) },
+ '40_lpush' => sub { $r->lpush( 'mylist', 'bar' ) },
+ '40_lpush' => sub { $r->lpush( 'mylist', 'bar' ) },
+ '50_lpop' => sub { $r->lpop( 'mylist' ) },
+ '90_h_set' => sub { $hash{ 'test' . rand() } = rand() },
+ '90_h_get' => sub { my $a = $hash{ 'test' . rand() }; },
});