Created
October 12, 2012 14:19
-
-
Save pH200/3879408 to your computer and use it in GitHub Desktop.
Node redis benchmark, comparing hiredis and faster parsers. Running on Mac Mini.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Client count: 5, node version: 0.8.11, server version: 2.4.17, parser: hiredis | |
PING, 1/5 min/max/avg/p95: 0/ 4/ 0.08/ 1.00 1719ms total, 11634.67 ops/sec | |
PING, 50/5 min/max/avg/p95: 0/ 6/ 1.24/ 2.00 497ms total, 40241.45 ops/sec | |
PING, 200/5 min/max/avg/p95: 1/ 9/ 4.47/ 7.00 449ms total, 44543.43 ops/sec | |
PING, 20000/5 min/max/avg/p95: 49/ 440/ 250.05/ 397.65 457ms total, 43763.68 ops/sec | |
SET small str, 1/5 min/max/avg/p95: 0/ 3/ 0.09/ 1.00 1792ms total, 11160.71 ops/sec | |
SET small str, 50/5 min/max/avg/p95: 0/ 3/ 1.28/ 2.00 515ms total, 38834.95 ops/sec | |
SET small str, 200/5 min/max/avg/p95: 0/ 10/ 4.75/ 7.00 478ms total, 41841.00 ops/sec | |
SET small str, 20000/5 min/max/avg/p95: 50/ 653/ 355.20/ 596.65 674ms total, 29673.59 ops/sec | |
SET small buf, 1/5 min/max/avg/p95: 0/ 17/ 0.16/ 1.00 3355ms total, 5961.25 ops/sec | |
SET small buf, 50/5 min/max/avg/p95: 0/ 14/ 4.63/ 8.55 1854ms total, 10787.49 ops/sec | |
SET small buf, 200/5 min/max/avg/p95: 0/ 34/ 16.49/ 27.00 1657ms total, 12070.01 ops/sec | |
SET small buf, 20000/5 min/max/avg/p95: 165/1840/1041.17/1759.55 1855ms total, 10781.67 ops/sec | |
GET small str, 1/5 min/max/avg/p95: 0/ 1/ 0.08/ 1.00 1670ms total, 11976.05 ops/sec | |
GET small str, 50/5 min/max/avg/p95: 0/ 4/ 1.30/ 2.00 521ms total, 38387.72 ops/sec | |
GET small str, 200/5 min/max/avg/p95: 0/ 9/ 4.69/ 7.00 472ms total, 42372.88 ops/sec | |
GET small str, 20000/5 min/max/avg/p95: 57/ 485/ 269.05/ 441.00 495ms total, 40404.04 ops/sec | |
GET small buf, 1/5 min/max/avg/p95: 0/ 1/ 0.08/ 1.00 1658ms total, 12062.73 ops/sec | |
GET small buf, 50/5 min/max/avg/p95: 0/ 4/ 1.25/ 2.00 502ms total, 39840.64 ops/sec | |
GET small buf, 200/5 min/max/avg/p95: 1/ 9/ 4.73/ 7.00 475ms total, 42105.26 ops/sec | |
GET small buf, 20000/5 min/max/avg/p95: 49/ 480/ 262.44/ 432.00 505ms total, 39603.96 ops/sec | |
SET large str, 1/5 min/max/avg/p95: 0/ 3/ 0.10/ 1.00 2015ms total, 9925.56 ops/sec | |
SET large str, 50/5 min/max/avg/p95: 0/ 4/ 1.37/ 2.00 551ms total, 36297.64 ops/sec | |
SET large str, 200/5 min/max/avg/p95: 0/ 11/ 5.30/ 8.00 533ms total, 37523.45 ops/sec | |
SET large str, 20000/5 min/max/avg/p95: 108/ 704/ 407.49/ 649.00 714ms total, 28011.20 ops/sec | |
SET large buf, 1/5 min/max/avg/p95: 0/ 1/ 0.15/ 1.00 3089ms total, 6474.59 ops/sec | |
SET large buf, 50/5 min/max/avg/p95: 0/ 8/ 4.18/ 7.00 1675ms total, 11940.30 ops/sec | |
SET large buf, 200/5 min/max/avg/p95: 1/ 34/ 16.68/ 27.00 1676ms total, 11933.17 ops/sec | |
SET large buf, 20000/5 min/max/avg/p95: 172/2011/1125.51/1912.55 2022ms total, 9891.20 ops/sec | |
GET large str, 1/5 min/max/avg/p95: 0/ 4/ 0.09/ 1.00 1922ms total, 10405.83 ops/sec | |
GET large str, 50/5 min/max/avg/p95: 0/ 6/ 1.93/ 3.00 776ms total, 25773.20 ops/sec | |
GET large str, 200/5 min/max/avg/p95: 0/ 18/ 7.84/ 14.00 788ms total, 25380.71 ops/sec | |
GET large str, 20000/5 min/max/avg/p95: 441/ 583/ 509.28/ 553.00 953ms total, 20986.36 ops/sec | |
GET large buf, 1/5 min/max/avg/p95: 0/ 3/ 0.09/ 1.00 1919ms total, 10422.09 ops/sec | |
GET large buf, 50/5 min/max/avg/p95: 0/ 6/ 1.93/ 3.00 773ms total, 25873.22 ops/sec | |
GET large buf, 200/5 min/max/avg/p95: 0/ 18/ 7.72/ 14.00 777ms total, 25740.03 ops/sec | |
GET large buf, 20000/5 min/max/avg/p95: 394/ 612/ 505.81/ 572.10 950ms total, 21052.63 ops/sec | |
INCR, 1/5 min/max/avg/p95: 0/ 3/ 0.09/ 1.00 1824ms total, 10964.91 ops/sec | |
INCR, 50/5 min/max/avg/p95: 0/ 4/ 1.26/ 2.00 506ms total, 39525.69 ops/sec | |
INCR, 200/5 min/max/avg/p95: 0/ 10/ 4.83/ 8.00 485ms total, 41237.11 ops/sec | |
INCR, 20000/5 min/max/avg/p95: 61/ 519/ 298.92/ 473.10 530ms total, 37735.85 ops/sec | |
LPUSH, 1/5 min/max/avg/p95: 0/ 1/ 0.08/ 1.00 1687ms total, 11855.36 ops/sec | |
LPUSH, 50/5 min/max/avg/p95: 0/ 4/ 1.26/ 2.00 507ms total, 39447.73 ops/sec | |
LPUSH, 200/5 min/max/avg/p95: 0/ 9/ 4.72/ 7.00 474ms total, 42194.09 ops/sec | |
LPUSH, 20000/5 min/max/avg/p95: 47/ 472/ 260.64/ 427.00 482ms total, 41493.78 ops/sec | |
LRANGE 10, 1/5 min/max/avg/p95: 0/ 4/ 0.10/ 1.00 2059ms total, 9713.45 ops/sec | |
LRANGE 10, 50/5 min/max/avg/p95: 0/ 4/ 1.51/ 2.00 607ms total, 32948.93 ops/sec | |
LRANGE 10, 200/5 min/max/avg/p95: 0/ 11/ 5.64/ 9.00 567ms total, 35273.37 ops/sec | |
LRANGE 10, 20000/5 min/max/avg/p95: 79/ 600/ 334.45/ 540.00 628ms total, 31847.13 ops/sec | |
LRANGE 100, 1/5 min/max/avg/p95: 0/ 5/ 0.19/ 1.00 3816ms total, 5241.09 ops/sec | |
LRANGE 100, 50/5 min/max/avg/p95: 0/ 8/ 3.62/ 6.00 1449ms total, 13802.62 ops/sec | |
LRANGE 100, 200/5 min/max/avg/p95: 3/ 33/ 16.79/ 26.00 1684ms total, 11876.48 ops/sec | |
LRANGE 100, 20000/5 min/max/avg/p95: 470/2032/1745.02/1997.55 2315ms total, 8639.31 ops/sec | |
End of tests. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Client count: 5, node version: 0.8.11, server version: 2.4.17, parser: faster | |
PING, 1/5 min/max/avg/p95: 0/ 42/ 0.08/ 1.00 1734ms total, 11534.03 ops/sec | |
PING, 50/5 min/max/avg/p95: 0/ 6/ 1.14/ 2.00 455ms total, 43956.04 ops/sec | |
PING, 200/5 min/max/avg/p95: 1/ 9/ 4.31/ 7.00 433ms total, 46189.38 ops/sec | |
PING, 20000/5 min/max/avg/p95: 51/ 436/ 250.28/ 399.00 447ms total, 44742.73 ops/sec | |
SET small str, 1/5 min/max/avg/p95: 0/ 4/ 0.09/ 1.00 1786ms total, 11198.21 ops/sec | |
SET small str, 50/5 min/max/avg/p95: 0/ 3/ 1.22/ 2.00 489ms total, 40899.80 ops/sec | |
SET small str, 200/5 min/max/avg/p95: 1/ 9/ 4.56/ 7.00 458ms total, 43668.12 ops/sec | |
SET small str, 20000/5 min/max/avg/p95: 41/ 438/ 242.79/ 403.00 446ms total, 44843.05 ops/sec | |
SET small buf, 1/5 min/max/avg/p95: 0/ 4/ 0.14/ 1.00 2937ms total, 6809.67 ops/sec | |
SET small buf, 50/5 min/max/avg/p95: 0/ 9/ 4.03/ 6.00 1613ms total, 12399.26 ops/sec | |
SET small buf, 200/5 min/max/avg/p95: 0/ 33/ 15.89/ 26.00 1597ms total, 12523.48 ops/sec | |
SET small buf, 20000/5 min/max/avg/p95: 161/1808/1040.42/1733.00 1815ms total, 11019.28 ops/sec | |
GET small str, 1/5 min/max/avg/p95: 0/ 1/ 0.08/ 1.00 1740ms total, 11494.25 ops/sec | |
GET small str, 50/5 min/max/avg/p95: 0/ 3/ 1.28/ 2.00 513ms total, 38986.35 ops/sec | |
GET small str, 200/5 min/max/avg/p95: 0/ 10/ 4.83/ 8.00 486ms total, 41152.26 ops/sec | |
GET small str, 20000/5 min/max/avg/p95: 50/ 478/ 268.43/ 440.00 488ms total, 40983.61 ops/sec | |
GET small buf, 1/5 min/max/avg/p95: 0/ 1/ 0.08/ 1.00 1646ms total, 12150.67 ops/sec | |
GET small buf, 50/5 min/max/avg/p95: 0/ 4/ 1.29/ 2.00 518ms total, 38610.04 ops/sec | |
GET small buf, 200/5 min/max/avg/p95: 0/ 10/ 4.88/ 8.00 490ms total, 40816.33 ops/sec | |
GET small buf, 20000/5 min/max/avg/p95: 44/ 470/ 265.31/ 430.55 480ms total, 41666.67 ops/sec | |
SET large str, 1/5 min/max/avg/p95: 0/ 9/ 0.09/ 1.00 1930ms total, 10362.69 ops/sec | |
SET large str, 50/5 min/max/avg/p95: 0/ 3/ 1.34/ 2.00 536ms total, 37313.43 ops/sec | |
SET large str, 200/5 min/max/avg/p95: 1/ 11/ 5.21/ 8.00 525ms total, 38095.24 ops/sec | |
SET large str, 20000/5 min/max/avg/p95: 100/ 691/ 399.60/ 632.55 703ms total, 28449.50 ops/sec | |
SET large buf, 1/5 min/max/avg/p95: 0/ 4/ 0.16/ 1.00 3183ms total, 6283.38 ops/sec | |
SET large buf, 50/5 min/max/avg/p95: 0/ 8/ 4.08/ 6.00 1636ms total, 12224.94 ops/sec | |
SET large buf, 200/5 min/max/avg/p95: 0/ 34/ 16.26/ 26.00 1634ms total, 12239.90 ops/sec | |
SET large buf, 20000/5 min/max/avg/p95: 157/1838/1006.61/1737.30 1844ms total, 10845.99 ops/sec | |
GET large str, 1/5 min/max/avg/p95: 0/ 4/ 0.09/ 1.00 1895ms total, 10554.09 ops/sec | |
GET large str, 50/5 min/max/avg/p95: 0/ 8/ 1.94/ 3.00 779ms total, 25673.94 ops/sec | |
GET large str, 200/5 min/max/avg/p95: 0/ 33/ 9.47/ 21.55 953ms total, 20986.36 ops/sec | |
GET large str, 20000/5 min/max/avg/p95: 479/ 676/ 582.74/ 647.00 1105ms total, 18099.55 ops/sec | |
GET large buf, 1/5 min/max/avg/p95: 0/ 3/ 0.09/ 1.00 1889ms total, 10587.61 ops/sec | |
GET large buf, 50/5 min/max/avg/p95: 0/ 16/ 1.91/ 3.00 766ms total, 26109.66 ops/sec | |
GET large buf, 200/5 min/max/avg/p95: 0/ 29/ 8.40/ 17.00 844ms total, 23696.68 ops/sec | |
GET large buf, 20000/5 min/max/avg/p95: 451/ 630/ 526.85/ 598.00 1010ms total, 19801.98 ops/sec | |
INCR, 1/5 min/max/avg/p95: 0/ 3/ 0.08/ 1.00 1723ms total, 11607.66 ops/sec | |
INCR, 50/5 min/max/avg/p95: 0/ 5/ 1.22/ 2.00 490ms total, 40816.33 ops/sec | |
INCR, 200/5 min/max/avg/p95: 0/ 11/ 4.78/ 8.00 480ms total, 41666.67 ops/sec | |
INCR, 20000/5 min/max/avg/p95: 43/ 446/ 247.66/ 410.55 453ms total, 44150.11 ops/sec | |
LPUSH, 1/5 min/max/avg/p95: 0/ 3/ 0.08/ 1.00 1698ms total, 11778.56 ops/sec | |
LPUSH, 50/5 min/max/avg/p95: 0/ 9/ 1.54/ 3.00 619ms total, 32310.18 ops/sec | |
LPUSH, 200/5 min/max/avg/p95: 0/ 13/ 5.28/ 9.00 530ms total, 37735.85 ops/sec | |
LPUSH, 20000/5 min/max/avg/p95: 43/ 471/ 262.14/ 431.00 488ms total, 40983.61 ops/sec | |
LRANGE 10, 1/5 min/max/avg/p95: 0/ 2/ 0.10/ 1.00 2094ms total, 9551.10 ops/sec | |
LRANGE 10, 50/5 min/max/avg/p95: 0/ 4/ 1.54/ 2.00 617ms total, 32414.91 ops/sec | |
LRANGE 10, 200/5 min/max/avg/p95: 0/ 29/ 6.18/ 10.00 621ms total, 32206.12 ops/sec | |
LRANGE 10, 20000/5 min/max/avg/p95: 87/ 706/ 396.17/ 635.10 746ms total, 26809.65 ops/sec | |
LRANGE 100, 1/5 min/max/avg/p95: 0/ 2/ 0.23/ 1.00 4670ms total, 4282.66 ops/sec | |
LRANGE 100, 50/5 min/max/avg/p95: 0/ 24/ 5.20/ 9.00 2083ms total, 9601.54 ops/sec | |
LRANGE 100, 200/5 min/max/avg/p95: 2/ 38/ 18.72/ 33.00 1881ms total, 10632.64 ops/sec | |
LRANGE 100, 20000/5 min/max/avg/p95: 737/2308/1740.67/2237.55 2794ms total, 7158.20 ops/sec | |
End of tests. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Comparing before, hiredis.txt ( 55 lines) to after, js_faster.txt ( 55 lines) | |
PING: 11634 -> 11534 ops/sec (∆ -100 ) | |
PING: 40241 -> 43956 ops/sec (∆ +3715 ) | |
PING: 44543 -> 46189 ops/sec (∆ +1646 ) | |
PING: 43763 -> 44742 ops/sec (∆ +979 ) | |
SET small str: 11160 -> 11198 ops/sec (∆ +38 ) | |
SET small str: 38834 -> 40899 ops/sec (∆ +2065 ) | |
SET small str: 41841 -> 43668 ops/sec (∆ +1827 ) | |
SET small str: 29673 -> 44843 ops/sec (∆ +15170 ) | |
SET small buf: 5961 -> 6809 ops/sec (∆ +848 ) | |
SET small buf: 10787 -> 12399 ops/sec (∆ +1612 ) | |
SET small buf: 12070 -> 12523 ops/sec (∆ +453 ) | |
SET small buf: 10781 -> 11019 ops/sec (∆ +238 ) | |
GET small str: 11976 -> 11494 ops/sec (∆ -482 ) | |
GET small str: 38387 -> 38986 ops/sec (∆ +599 ) | |
GET small str: 42372 -> 41152 ops/sec (∆ -1220 ) | |
GET small str: 40404 -> 40983 ops/sec (∆ +579 ) | |
GET small buf: 12062 -> 12150 ops/sec (∆ +88 ) | |
GET small buf: 39840 -> 38610 ops/sec (∆ -1230 ) | |
GET small buf: 42105 -> 40816 ops/sec (∆ -1289 ) | |
GET small buf: 39603 -> 41666 ops/sec (∆ +2063 ) | |
SET large str: 9925 -> 10362 ops/sec (∆ +437 ) | |
SET large str: 36297 -> 37313 ops/sec (∆ +1016 ) | |
SET large str: 37523 -> 38095 ops/sec (∆ +572 ) | |
SET large str: 28011 -> 28449 ops/sec (∆ +438 ) | |
SET large buf: 6474 -> 6283 ops/sec (∆ -191 ) | |
SET large buf: 11940 -> 12224 ops/sec (∆ +284 ) | |
SET large buf: 11933 -> 12239 ops/sec (∆ +306 ) | |
SET large buf: 9891 -> 10845 ops/sec (∆ +954 ) | |
GET large str: 10405 -> 10554 ops/sec (∆ +149 ) | |
GET large str: 25773 -> 25673 ops/sec (∆ -100 ) | |
GET large str: 25380 -> 20986 ops/sec (∆ -4394 ) | |
GET large str: 20986 -> 18099 ops/sec (∆ -2887 ) | |
GET large buf: 10422 -> 10587 ops/sec (∆ +165 ) | |
GET large buf: 25873 -> 26109 ops/sec (∆ +236 ) | |
GET large buf: 25740 -> 23696 ops/sec (∆ -2044 ) | |
GET large buf: 21052 -> 19801 ops/sec (∆ -1251 ) | |
INCR: 10964 -> 11607 ops/sec (∆ +643 ) | |
INCR: 39525 -> 40816 ops/sec (∆ +1291 ) | |
INCR: 41237 -> 41666 ops/sec (∆ +429 ) | |
INCR: 37735 -> 44150 ops/sec (∆ +6415 ) | |
LPUSH: 11855 -> 11778 ops/sec (∆ -77 ) | |
LPUSH: 39447 -> 32310 ops/sec (∆ -7137 ) | |
LPUSH: 42194 -> 37735 ops/sec (∆ -4459 ) | |
LPUSH: 41493 -> 40983 ops/sec (∆ -510 ) | |
LRANGE 10: 9713 -> 9551 ops/sec (∆ -162 ) | |
LRANGE 10: 32948 -> 32414 ops/sec (∆ -534 ) | |
LRANGE 10: 35273 -> 32206 ops/sec (∆ -3067 ) | |
LRANGE 10: 31847 -> 26809 ops/sec (∆ -5038 ) | |
LRANGE 100: 5241 -> 4282 ops/sec (∆ -959 ) | |
LRANGE 100: 13802 -> 9601 ops/sec (∆ -4201 ) | |
LRANGE 100: 11876 -> 10632 ops/sec (∆ -1244 ) | |
LRANGE 100: 8639 -> 7158 ops/sec (∆ -1481 ) | |
Mean difference in ops/sec: +23.038461538461345 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ node --version | |
v0.8.11 | |
$ gcc --version | |
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00) | |
$ clang --version | |
Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn) | |
Target: x86_64-apple-darwin12.2.0 | |
Thread model: posix | |
$ redis-cli INFO | grep version | |
redis_version:2.4.17 | |
gcc_version:4.2.1 | |
$ system_profiler SPHardwareDataType | grep "Model\|Processor\|Core" | |
Model Name: Mac mini | |
Model Identifier: Macmini4,1 | |
Processor Name: Intel Core 2 Duo | |
Processor Speed: 2.66 GHz | |
Number of Processors: 1 | |
Total Number of Cores: 2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Benchmark running on Ubuntu:
https://gist.github.com/3879450