add lib/Redis/* to MANIFEST so that CPAN distro contains relevant files
[perl-Redis.git] / scripts / redis-benchmark.pl
index e827817..05fcdad 100755 (executable)
@@ -5,14 +5,26 @@ use strict;
 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() }; },
 });