root/lang/perl/Cache-Memcached-LibMemcached/trunk/tools/benchmark.pl @ 4564

Revision 4564, 2.9 kB (checked in by daisuke, 5 years ago)

lang/perl/Cache-Memcached-LibMemcached?; remove POD directives

Line 
1use strict;
2use Benchmark qw(cmpthese);
3use Cache::Memcached;
4use Cache::Memcached::Fast;
5use Cache::Memcached::LibMemcached;
6
7my %args = (
8    servers => [ qw(localhost:11211) ],
9    compess_threshold => 1_000,
10);
11
12my $data;
13
14my $memd = Cache::Memcached->new(\%args);
15my $memd_fast = Cache::Memcached::Fast->new(\%args);
16my $libmemd = Cache::Memcached::LibMemcached->new(\%args);
17
18{
19    print qq|==== Benchmark "Simple get() (scalar)" ====\n|;
20    $data = '0123456789' x 10;
21    $libmemd->set( 'foo', $data );
22    cmpthese(50_000, {
23        perl_memcahed => sub {
24            ($memd->get('foo') eq $data) or die;
25        },
26        memcached_fast => sub {
27            ($memd_fast->get('foo') eq $data) or die;
28        },
29        libmemcached  => sub {
30            ($libmemd->get('foo') eq $data) or die;
31        },
32    });
33}
34
35{
36    print qq|==== Benchmark "Simple get() (w/serialize)" ====\n|;
37    $data = { foo => [ qw(1 2 3) ] };
38    $libmemd->set( 'foo', $data );
39    cmpthese(50_000, {
40        perl_memcahed => sub {
41            (ref $memd->get('foo')->{foo} eq 'ARRAY') or die;
42        },
43        memcached_fast => sub {
44            (ref $memd_fast->get('foo')->{foo} eq 'ARRAY') or die;
45        },
46        libmemcached  => sub {
47            (ref $libmemd->get('foo')->{foo} eq 'ARRAY') or die;
48        },
49    });
50}
51
52{
53    print qq|==== Benchmark "Simple get() (w/compression)" ====\n|;
54    $data = '0123456789' x 500;
55    $libmemd->set( 'foo', $data );
56    cmpthese(50_000, {
57        perl_memcahed => sub {
58            ($memd->get('foo') eq $data) or die;
59        },
60        memcached_fast => sub {
61            ($memd_fast->get('foo') eq $data) or die;
62        },
63        libmemcached  => sub {
64            ($libmemd->get('foo') eq $data) or die;
65        },
66    });
67}
68
69{
70    print qq|==== Benchmark "Simple set() (scalar)" ====\n|;
71    $data = '0123456789' x 10;
72    cmpthese(50_000, {
73        perl_memcahed => sub {
74            $memd->set( 'foo', $data );
75        },
76        memcached_fast => sub {
77            $memd_fast->set( 'foo', $data );
78        },
79        libmemcached  => sub {
80            $libmemd->set( 'foo', $data );
81        },
82    });
83}
84
85{
86    print qq|==== Benchmark "Simple set() (w/serialize)" ====\n|;
87    $data = { foo => [ qw(1 2 3) ] };
88    cmpthese(50_000, {
89        perl_memcahed => sub {
90            $memd->set( 'foo', $data );
91        },
92        memcached_fast => sub {
93            $memd_fast->set( 'foo', $data );
94        },
95        libmemcached  => sub {
96            $libmemd->set( 'foo', $data );
97        },
98    });
99}
100
101{
102    print qq|==== Benchmark "Simple set() (w/compress)" ====\n|;
103    $data = '0123456789' x 500;
104    cmpthese(50_000, {
105        perl_memcahed => sub {
106            $memd->set( 'foo', $data );
107        },
108        memcached_fast => sub {
109            $memd_fast->set( 'foo', $data );
110        },
111        libmemcached  => sub {
112            $libmemd->set( 'foo', $data );
113        },
114    });
115}
116
117
118
Note: See TracBrowser for help on using the browser.