shogo82148 / Redis-Fast

fast perl binding for Redis database
https://metacpan.org/release/Redis-Fast
Other
25 stars 21 forks source link

fix perl magic #67

Closed shogo82148 closed 7 years ago

shogo82148 commented 7 years ago

substr uses "Perl Magic", see http://perldoc.perl.org/functions/substr.html for more details. We need to consider this case.

shogo82148 commented 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)
shogo82148 commented 7 years ago

It is seem to be my misunderstanding for SvGETMAGIC. I found no problem.