diff options
author | antirez <antirez@gmail.com> | 2015-02-10 14:47:45 +0100 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2015-02-10 14:47:45 +0100 |
commit | 5e3dcc522b13d5441d6cdf4ee6ff48bd25df13cb (patch) | |
tree | 72af41c04a1119a850bb94da1edd8d6ef2178375 | |
parent | e1fce55237ee1092384017a157882d548c6a517f (diff) | |
download | redis-5e3dcc522b13d5441d6cdf4ee6ff48bd25df13cb.tar.gz |
Faster memory efficiency test.
This test on Linux was extremely slow, since in Tcl we can't enable
easily tcp-nodelay, so the busy loop used to take *a lot* with bigger
writes. Fixed using pipelining.
-rw-r--r-- | tests/unit/memefficiency.tcl | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/tests/unit/memefficiency.tcl b/tests/unit/memefficiency.tcl index 14e135ced..7ca9a705b 100644 --- a/tests/unit/memefficiency.tcl +++ b/tests/unit/memefficiency.tcl @@ -1,15 +1,20 @@ proc test_memory_efficiency {range} { r flushall + set rd [redis_deferring_client] set base_mem [s used_memory] set written 0 for {set j 0} {$j < 10000} {incr j} { set key key:$j set val [string repeat A [expr {int(rand()*$range)}]] - r set $key $val + $rd set $key $val incr written [string length $key] incr written [string length $val] incr written 2 ;# A separator is the minimum to store key-value data. } + for {set j 0} {$j < 10000} {incr j} { + $rd read ; # Discard replies + } + set current_mem [s used_memory] set used [expr {$current_mem-$base_mem}] set efficiency [expr {double($written)/$used}] |