Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Provide some more performance data for Thredis vs Redis

  • Loading branch information...
commit 117f6b41cf7e8a7fb4700864a7b43038e1ff52b5 1 parent e5f9330
@grisha authored
Showing with 24 additions and 8 deletions.
  1. +8 −4 README
  2. +16 −4 README-THREDIS
View
12 README
@@ -2,10 +2,14 @@
What is Thredis?
----------------
-Thredis is Threaded Redis. Thredis is for the most part identical to
-Redis. There are a few differences in how it works inherent from it
-processing requests in parallel. Those differences and more
-information specific to Thredis is outlined in README-THREDIS.
+Thredis is Threaded Redis. Thredis is ideal for very long-running
+operations, on SMP systems it can easily provide multiples of standard
+Redis performance.
+
+Thredis is for the most part identical to Redis. There are a few
+differences in how it works inherent from it processing requests in
+parallel. Those differences and more information specific to Thredis
+is outlined in README-THREDIS.
Where to find complete Redis documentation?
-------------------------------------------
View
20 README-THREDIS
@@ -43,10 +43,22 @@ based on a stable Redis release.
Performance
-----------
-A simple benchmark using redis-benchmark -n 10000 shows that Thredis
-is only slightly slower than Redis. Here is the output of a run
-comparing Redis 2.6 with Thredis 2.6 on the same machine (4-core Linux
-in a VirtualBox on a MacBook Pro):
+The most striking performance gain can be observed on SMP systems when
+running time-consuming operations. In a simple experiement, 20 clients
+running a ZUNIONSTORE operation on 25 Sorted Sets of 100,000 random
+entires took 61.79s on single-threaded Redis versus 6.30s on
+Thredis. This test was conducted on a 24-core server. This is a more
+than 980% (or almost 10x) performance improvement!
+
+For simple O(1) or similar operations Thredis is slightly slower than
+Redis. Simple operations are not submitted to separate threads and run
+in the main event loop, just like Redis, but locking still has to be
+done, which is where most of the slowdown happens.
+
+Here is the output of a redis-benchmark -n 10000 run comparing Redis
+2.6 with Thredis 2.6 on the same machine (4-core Linux in a VirtualBox
+on a MacBook Pro):
+
Redis Thredis
PING_INLINE 44444.45 45454.55 102.27%
PING_BULK 48543.69 45248.87 93.21%
Please sign in to comment.
Something went wrong with that request. Please try again.