Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Nov 18, 2013
  1. @ikruglov
Commits on Nov 17, 2013
  1. @ikruglov

    use sysread (app level buffering) + recv MSG_PEEK

    ikruglov authored
    this approach demonstrates equal performance (at least on my virtual machine):
    
    $ ./redis-benchmark.pl
    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 ( 1.89 usr +  3.52 sys =  5.41 CPU) @ 5479.30/s (n=29643)
        10_set:  9 wallclock secs ( 2.38 usr +  2.82 sys =  5.20 CPU) @ 6139.23/s (n=31924)
      11_set_r:  9 wallclock secs ( 1.70 usr +  3.71 sys =  5.41 CPU) @ 5900.92/s (n=31924)
        20_get:  9 wallclock secs ( 1.52 usr +  3.85 sys =  5.37 CPU) @ 5970.76/s (n=32063)
      21_get_r:  9 wallclock secs ( 1.88 usr +  3.34 sys =  5.22 CPU) @ 6000.19/s (n=31321)
       30_incr:  9 wallclock secs ( 2.04 usr +  3.22 sys =  5.26 CPU) @ 6095.63/s (n=32063)
     30_incr_r:  9 wallclock secs ( 1.92 usr +  3.37 sys =  5.29 CPU) @ 6034.78/s (n=31924)
      40_lpush:  9 wallclock secs ( 2.06 usr +  3.40 sys =  5.46 CPU) @ 6093.96/s (n=33273)
       50_lpop:  9 wallclock secs ( 1.92 usr +  3.35 sys =  5.27 CPU) @ 5943.26/s (n=31321)
      90_h_get:  8 wallclock secs ( 1.74 usr +  3.43 sys =  5.17 CPU) @ 5837.91/s (n=30182)
      90_h_set:  9 wallclock secs ( 1.68 usr +  3.62 sys =  5.30 CPU) @ 5799.62/s (n=30738)
    
    $ REDIS_USE_SYSREAD=1 ./redis-benchmark.pl
    REDIS IS USING SYSREAD
    REDIS IS USING SYSREAD
    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:  9 wallclock secs ( 1.96 usr +  3.36 sys =  5.32 CPU) @ 5559.77/s (n=29578)
        10_set:  9 wallclock secs ( 1.94 usr +  3.40 sys =  5.34 CPU) @ 6115.36/s (n=32656)
      11_set_r:  9 wallclock secs ( 1.86 usr +  3.54 sys =  5.40 CPU) @ 5911.85/s (n=31924)
        20_get:  9 wallclock secs ( 1.57 usr +  3.64 sys =  5.21 CPU) @ 6044.15/s (n=31490)
      21_get_r:  8 wallclock secs ( 2.39 usr +  2.95 sys =  5.34 CPU) @ 5978.28/s (n=31924)
       30_incr:  9 wallclock secs ( 2.22 usr +  3.03 sys =  5.25 CPU) @ 6107.24/s (n=32063)
     30_incr_r:  8 wallclock secs ( 1.63 usr +  3.38 sys =  5.01 CPU) @ 5990.42/s (n=30012)
      40_lpush:  9 wallclock secs ( 1.22 usr +  4.17 sys =  5.39 CPU) @ 6058.63/s (n=32656)
       50_lpop:  9 wallclock secs ( 1.60 usr +  3.51 sys =  5.11 CPU) @ 6015.26/s (n=30738)
      90_h_get:  8 wallclock secs ( 1.72 usr +  3.59 sys =  5.31 CPU) @ 5789.27/s (n=30741)
      90_h_set:  9 wallclock secs ( 1.64 usr +  3.78 sys =  5.42 CPU) @ 5778.78/s (n=31321)
Commits on Nov 16, 2013
  1. @ikruglov

    compare performance of readline vs sysread vs recv

    ikruglov authored
    This benchmark allows you to compare performance of
    different approaches of extracting "\n" terminated lines
    from a socket. The approaches are: readline (<> operator),
    sysread and IO::Socket::INET::recv. To achive this, I wrote
    a simple server which generates stream of lines of given length and
    three clients. client-sysread and client-recv implements application
    layer buffering strategy, while client-readline uses PerlIO buffer.
    
    I tried to do my best in optimizing the code :-)
    
    How to run:
    cd tools/benchmarks/readline_vs_sysread_vs_recv/
    ./run.pl
    
    Result of my test runs:
    Simply say - readline almost always beats everyone.
  2. @dams

    updated changes (fix #38)

    dams authored
  3. @dams
  4. @dams
Commits on Nov 15, 2013
  1. @dams

    Merge pull request #59 from dsteinbrunner/patch-1

    dams authored
    typo fixes
  2. @dsteinbrunner

    typo fixes

    dsteinbrunner authored
Commits on Nov 14, 2013
  1. @dams

    v1.964

    dams authored
        * minor fix to dist.ini to fix github url
  2. @dams

    minor dist.ini fix

    dams authored
Commits on Nov 13, 2013
  1. @dams

    v1.963

    dams authored
        * Add documentation for the slowlog command PR #44 (rgs)
        * doc fix, duplicate spop PR #48 (nightlord)
        * Redis client is now fork safe PR #51 (songmu)
        * rewrite dist.ini
Commits on Nov 12, 2013
  1. @dams

    add missing test require

    dams authored
  2. @dams

    fix typo

    dams authored
  3. @dams

    updated changes

    dams authored
  4. @dams

    rewrite dist.ini

    dams authored
  5. @dams

    minor tidying

    dams authored
Commits on Nov 11, 2013
  1. @dams
Commits on Nov 4, 2013
  1. @dams

    updated Changes

    dams authored
  2. @dams

    Merge branch 'rgs-doc-slowlog'

    dams authored
  3. @rgs @dams

    Add documentation for the slowlog command

    rgs authored dams committed
    This command is working, since Redis 2.2.12 I believe,
    but is not documented in the POD.
  4. @dams

    fix typo

    dams authored
  5. @dams

    Merge pull request #48 from nightlord/master

    dams authored
    doc fix, duplicate spop
Commits on Nov 3, 2013
  1. @dams

    Merge pull request #51 from Songmu/feature/fork-safe

    dams authored
    Feature/fork safe
Commits on Oct 20, 2013
  1. @Songmu

    fix fork safe test

    Songmu authored
  2. @Songmu

    added fork-safe

    hisaichi5518 authored Songmu committed
Commits on Oct 16, 2013
  1. @dams

    v1.962

    dams authored
        * merge #54 (fix for broken test)
        * Parameter name to new() can be a CodeRef, dynamic connection names
        * admin: added co-maintainer Damien Krotkine <dams@zarb.org>
  2. @dams

    remove Test::Kwalitee for now

    dams authored
  3. @dams
Commits on Oct 14, 2013
  1. @dams

    updated Changes

    dams authored
  2. @dams

    try to make travis work

    dams authored
  3. @dams

    try to make travis work

    dams authored
  4. @dams

    add dams as co-maintainer

    dams authored
  5. @dams

    Merge pull request #54 from jbolila/patch-1

    dams authored
    set syntax error (or)
Commits on Oct 5, 2013
  1. @jbolila

    set syntax error (or)

    jbolila authored
Commits on Jun 19, 2013
  1. @nightlord

    fix duplicate spop

    nightlord authored
Something went wrong with that request. Please try again.