Closed shogo82148 closed 7 years ago
benchmark before
Benchmark: running 00_ping, 10_set, 11_set_r, 20_get, 21_get_r, 30_incr, 30_incr_r, 40_lpush, 50_lpop, 90_h_get, 90_h_set for at least 5 CPU seconds...
00_ping: 8 wallclock secs ( 2.93 usr + 2.16 sys = 5.09 CPU) @ 20843.42/s (n=106093)
10_set: 10 wallclock secs ( 1.97 usr + 3.18 sys = 5.15 CPU) @ 31008.93/s (n=159696)
11_set_r: 9 wallclock secs ( 2.40 usr + 2.91 sys = 5.31 CPU) @ 27609.79/s (n=146608)
20_get: 11 wallclock secs ( 2.11 usr + 3.63 sys = 5.74 CPU) @ 30923.17/s (n=177499)
21_get_r: 10 wallclock secs ( 2.06 usr + 3.08 sys = 5.14 CPU) @ 25328.21/s (n=130187)
30_incr: 12 wallclock secs ( 1.95 usr + 3.76 sys = 5.71 CPU) @ 27010.33/s (n=154229)
30_incr_r: 9 wallclock secs ( 2.08 usr + 3.04 sys = 5.12 CPU) @ 29215.43/s (n=149583)
40_lpush: 11 wallclock secs ( 1.86 usr + 3.45 sys = 5.31 CPU) @ 30029.57/s (n=159457)
50_lpop: 10 wallclock secs ( 1.85 usr + 3.27 sys = 5.12 CPU) @ 32299.80/s (n=165375)
90_h_get: 9 wallclock secs ( 2.38 usr + 2.76 sys = 5.14 CPU) @ 26187.74/s (n=134605)
90_h_set: 10 wallclock secs ( 2.74 usr + 2.92 sys = 5.66 CPU) @ 21799.12/s (n=123383)
It is seem to be my misunderstanding for SvGETMAGIC. I found no problem.
substr uses "Perl Magic", see http://perldoc.perl.org/functions/substr.html for more details. We need to consider this case.