implement same benchmarks as redis-benchmark in C
[perl-Redis.git] / scripts / redis-benchmark.pl
index e827817..74759b0 100755 (executable)
@@ -8,11 +8,17 @@ use Redis;
 
 my $r = Redis->new;
 
+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' ) },
 });