File tree Expand file tree Collapse file tree 4 files changed +30
-30
lines changed
lib/redis_client/ruby_connection Expand file tree Collapse file tree 4 files changed +30
-30
lines changed Original file line number Diff line number Diff line change 17
17
x . report ( "ruby" ) { ruby . pipelined { |p | 100 . times { p . call ( "GET" , "key" ) } } }
18
18
end
19
19
20
- benchmark ( "large string x 100 " ) do |x |
21
- x . report ( "hiredis" ) { hiredis . pipelined { | p | 100 . times { p . call ( "GET" , "large" ) } } }
22
- x . report ( "ruby" ) { ruby . pipelined { | p | 100 . times { p . call ( "GET" , "large" ) } } }
20
+ benchmark ( "large string" ) do |x |
21
+ x . report ( "hiredis" ) { hiredis . call ( "GET" , "large" ) }
22
+ x . report ( "ruby" ) { ruby . call ( "GET" , "large" ) }
23
23
end
24
24
25
25
benchmark ( "small list x 100" ) do |x |
Original file line number Diff line number Diff line change @@ -7,53 +7,53 @@ redis-server: `Redis server v=7.0.12 sha=00000000:0 malloc=libc bits=64 build=a1
7
7
8
8
```
9
9
ruby 3.4.0dev (2024-03-19T14:18:56Z master 5c2937733c) [arm64-darwin23]
10
- hiredis: 4825.5 i/s
11
- ruby: 2863 .4 i/s - 1.69x slower
10
+ hiredis: 5239.0 i/s
11
+ ruby: 2957 .4 i/s - 1.77x slower
12
12
13
13
```
14
14
15
- ### large string x 100
15
+ ### large string
16
16
17
17
```
18
18
ruby 3.4.0dev (2024-03-19T14:18:56Z master 5c2937733c) [arm64-darwin23]
19
- hiredis: 266.6 i/s
20
- ruby: 198.1 i/s - 1.35x slower
19
+ hiredis: 12784.9 i/s
20
+ ruby: 14948.2 i/s - same-ish: difference falls within error
21
21
22
22
```
23
23
24
24
### small list x 100
25
25
26
26
```
27
27
ruby 3.4.0dev (2024-03-19T14:18:56Z master 5c2937733c) [arm64-darwin23]
28
- hiredis: 2416.9 i/s
29
- ruby: 1223.3 i/s - 1.98x slower
28
+ hiredis: 2599.3 i/s
29
+ ruby: 1300.0 i/s - 2.00x slower
30
30
31
31
```
32
32
33
33
### large list
34
34
35
35
```
36
36
ruby 3.4.0dev (2024-03-19T14:18:56Z master 5c2937733c) [arm64-darwin23]
37
- hiredis: 5351.6 i/s
38
- ruby: 1718.0 i/s - 3.11x slower
37
+ hiredis: 6836.0 i/s
38
+ ruby: 1867.6 i/s - 3.66x slower
39
39
40
40
```
41
41
42
42
### small hash x 100
43
43
44
44
```
45
45
ruby 3.4.0dev (2024-03-19T14:18:56Z master 5c2937733c) [arm64-darwin23]
46
- hiredis: 2854.3 i/s
47
- ruby: 1294.4 i/s - 2.21x slower
46
+ hiredis: 3392.5 i/s
47
+ ruby: 1408.9 i/s - 2.41x slower
48
48
49
49
```
50
50
51
51
### large hash
52
52
53
53
```
54
54
ruby 3.4.0dev (2024-03-19T14:18:56Z master 5c2937733c) [arm64-darwin23]
55
- hiredis: 1580.6 i/s
56
- ruby: 1634.7 i/s - same-ish: difference falls within error
55
+ hiredis: 1786.2 i/s
56
+ ruby: 1811.9 i/s - same-ish: difference falls within error
57
57
58
58
```
59
59
Original file line number Diff line number Diff line change @@ -7,53 +7,53 @@ redis-server: `Redis server v=7.0.12 sha=00000000:0 malloc=libc bits=64 build=a1
7
7
8
8
```
9
9
ruby 3.4.0dev (2024-03-19T14:18:56Z master 5c2937733c) +YJIT [arm64-darwin23]
10
- hiredis: 6407.8 i/s
11
- ruby: 5852.0 i/s - same-ish: difference falls within error
10
+ hiredis: 7148.9 i/s
11
+ ruby: 5758.6 i/s - 1.24x slower
12
12
13
13
```
14
14
15
- ### large string x 100
15
+ ### large string
16
16
17
17
```
18
18
ruby 3.4.0dev (2024-03-19T14:18:56Z master 5c2937733c) +YJIT [arm64-darwin23]
19
- hiredis: 302.8 i/s
20
- ruby: 337.3 i/s - same-ish: difference falls within error
19
+ hiredis: 13023.5 i/s
20
+ ruby: 20246.4 i/s - 1.55x faster
21
21
22
22
```
23
23
24
24
### small list x 100
25
25
26
26
```
27
27
ruby 3.4.0dev (2024-03-19T14:18:56Z master 5c2937733c) +YJIT [arm64-darwin23]
28
- hiredis: 4067.7 i/s
29
- ruby: 2721.5 i/s - 1.49x slower
28
+ hiredis: 3973.6 i/s
29
+ ruby: 2668.7 i/s - 1.49x slower
30
30
31
31
```
32
32
33
33
### large list
34
34
35
35
```
36
36
ruby 3.4.0dev (2024-03-19T14:18:56Z master 5c2937733c) +YJIT [arm64-darwin23]
37
- hiredis: 7138.7 i/s
38
- ruby: 6605.4 i/s - same-ish: difference falls within error
37
+ hiredis: 6706.8 i/s
38
+ ruby: 6529.3 i/s - same-ish: difference falls within error
39
39
40
40
```
41
41
42
42
### small hash x 100
43
43
44
44
```
45
45
ruby 3.4.0dev (2024-03-19T14:18:56Z master 5c2937733c) +YJIT [arm64-darwin23]
46
- hiredis: 4219.8 i/s
47
- ruby: 3586.4 i/s - 1.18x slower
46
+ hiredis: 4001.6 i/s
47
+ ruby: 3482.9 i/s - 1.15x slower
48
48
49
49
```
50
50
51
51
### large hash
52
52
53
53
```
54
54
ruby 3.4.0dev (2024-03-19T14:18:56Z master 5c2937733c) +YJIT [arm64-darwin23]
55
- hiredis: 5240 .9 i/s
56
- ruby: 5312.5 i/s - same-ish: difference falls within error
55
+ hiredis: 5511 .9 i/s
56
+ ruby: 5555.7 i/s - same-ish: difference falls within error
57
57
58
58
```
59
59
Original file line number Diff line number Diff line change @@ -174,7 +174,7 @@ def parse_set(io)
174
174
def parse_map ( io )
175
175
hash = { }
176
176
io . gets_integer . times do
177
- hash [ parse ( io ) ] = parse ( io )
177
+ hash [ parse ( io ) . freeze ] = parse ( io )
178
178
end
179
179
hash
180
180
end
You can’t perform that action at this time.
0 commit comments