Python Redis Benchmark Save

Python Redis clients benchmarks

Project README

Python Redis clients benchmarks

Run, either::

$ pip install -r requirements.txt
$ py.test

or, alternatively, run in container::

$ vagga run

Tested libraries

  • aioredis_ — async mode (hiredis/python parser), parsers implementation;

  • aredis_ — async mode (hiredis/python parser);

  • asyncio-redis_ — async mode (hiredis/python parser);

  • redis-py_ — sync mode (hiredis/python parser), parsers implementation;

  • hiredis_ — parser;

.. _aioredis: https://github.com/aio-libs/aioredis .. _aredis: https://github.com/NoneGG/aredis .. _asyncio-redis: https://github.com/jonathanslenders/asyncio-redis .. _hiredis: https://github.com/redis/hiredis-py .. _redis-py: https://github.com/andymccurdy/redis-py

Tests and Results

Sync/async ping

We test the simpliest Redis command.

.. code::

------------------------------------------------------------------------------------------- benchmark 'async-ping': 12 tests ------------------------------------------------------------------------------------------ Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations

benchmark_ping[aioredis[hi]------uvloop-] 55.6689 (1.0) 162.8469 (1.17) 59.3434 (1.0) 4.1366 (1.15) 58.3949 (1.0) 2.1579 (2.72) 302;308 16.8511 (1.0) 11921 1 benchmark_ping[asyncio_redis[hi]-uvloop-] 59.6698 (1.07) 1,291.5460 (9.31) 64.9867 (1.10) 15.1235 (4.20) 63.5837 (1.09) 2.2938 (2.89) 275;514 15.3878 (0.91) 9602 1 benchmark_ping[aredis[hi]--------uvloop-] 66.2850 (1.19) 138.7880 (1.0) 69.0211 (1.16) 3.5977 (1.0) 68.6580 (1.18) 0.7928 (1.0) 114;268 14.4883 (0.86) 4025 1 benchmark_ping[aioredis[py]------uvloop-] 66.7921 (1.20) 1,031.1040 (7.43) 71.3329 (1.20) 13.2247 (3.68) 69.6280 (1.19) 2.3105 (2.91) 254;443 14.0188 (0.83) 10695 1 benchmark_ping[aioredis[hi]------asyncio] 66.9500 (1.20) 1,116.0201 (8.04) 69.8783 (1.18) 13.7422 (3.82) 68.4350 (1.17) 1.1545 (1.46) 155;764 14.3106 (0.85) 7929 1 benchmark_ping[aredis[py]--------uvloop-] 71.7551 (1.29) 3,190.6250 (22.99) 77.6744 (1.31) 48.7857 (13.56) 74.8315 (1.28) 1.8310 (2.31) 43;642 12.8743 (0.76) 7390 1 benchmark_ping[asyncio_redis[py]-uvloop-] 73.8637 (1.33) 163.1309 (1.18) 78.0540 (1.32) 5.7129 (1.59) 76.5501 (1.31) 2.4736 (3.12) 308;346 12.8116 (0.76) 8170 1 benchmark_ping[asyncio_redis[hi]-asyncio] 78.2371 (1.41) 6,350.5229 (45.76) 85.3393 (1.44) 78.0572 (21.70) 81.7510 (1.40) 3.0246 (3.82) 16;706 11.7179 (0.70) 6601 1 benchmark_ping[aioredis[py]------asyncio] 78.2949 (1.41) 163.0620 (1.17) 81.9826 (1.38) 5.5563 (1.54) 80.3941 (1.38) 2.6120 (3.29) 288;323 12.1977 (0.72) 7359 1 benchmark_ping[aredis[hi]--------asyncio] 84.8528 (1.52) 205.0390 (1.48) 88.7649 (1.50) 6.6947 (1.86) 86.8700 (1.49) 1.8864 (2.38) 389;870 11.2657 (0.67) 7323 1 benchmark_ping[aredis[py]--------asyncio] 90.9651 (1.63) 2,711.4851 (19.54) 97.0465 (1.64) 35.1134 (9.76) 93.1863 (1.60) 4.1702 (5.26) 107;521 10.3043 (0.61) 6067 1 benchmark_ping[asyncio_redis[py]-asyncio] 95.9449 (1.72) 2,561.9040 (18.46) 102.7481 (1.73) 35.8886 (9.98) 98.2261 (1.68) 3.5387 (4.46) 104;705 9.7325 (0.58) 6013 1

----------------------------------------------------------------------------------- benchmark 'redispy-ping': 2 tests ----------------------------------------------------------------------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations

benchmark_ping[redis-py[hi]] 24.1511 (1.0) 830.2890 (1.0) 27.1030 (1.0) 7.0917 (1.0) 26.4253 (1.0) 1.1314 (1.0) 547;830 36.8962 (1.0) 19227 1 benchmark_ping[redis-py[py]] 27.2440 (1.13) 1,847.6089 (2.23) 32.4693 (1.20) 25.5755 (3.61) 30.1078 (1.14) 1.9739 (1.74) 214;1913 30.7984 (0.83) 13646 1

Sync/async get

.. code::

----------------------------------------------------------------------------------------------- benchmark 'async-get': 72 tests ------------------------------------------------------------------------------------------------ Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations

benchmark_get[aioredis[hi]------uvloop-----10] 58.0102 (1.0) 2,505.3518 (17.55) 68.0369 (1.04) 42.1467 (8.50) 62.3085 (1.01) 4.0443 (3.45) 170;1446 14.6979 (0.96) 9474 1 benchmark_get[aioredis[hi]------uvloop----256] 58.1848 (1.00) 4,657.5693 (32.62) 65.6688 (1.00) 55.8542 (11.26) 61.9302 (1.0) 2.5448 (2.17) 48;980 15.2279 (1.00) 7344 1 benchmark_get[aioredis[hi]------uvloop---1024] 59.7090 (1.03) 4,080.6620 (28.58) 65.5414 (1.0) 42.4740 (8.56) 64.3502 (1.04) 1.7313 (1.48) 26;495 15.2575 (1.0) 9085 1 benchmark_get[aioredis[hi]------uvloop---4096] 62.0079 (1.07) 2,306.1712 (16.15) 69.9762 (1.07) 26.6468 (5.37) 67.0534 (1.08) 3.5039 (2.99) 262;1109 14.2906 (0.94) 9489 1 benchmark_get[aredis[hi]--------uvloop-----10] 67.4706 (1.16) 1,807.0582 (12.66) 73.0302 (1.11) 21.4193 (4.32) 71.5575 (1.16) 2.9928 (2.56) 190;463 13.6930 (0.90) 9342 1 benchmark_get[aredis[hi]--------uvloop----256] 68.2469 (1.18) 3,156.8492 (22.11) 76.1004 (1.16) 52.0040 (10.49) 71.5291 (1.15) 3.4710 (2.96) 64;787 13.1405 (0.86) 7144 1 benchmark_get[aioredis[hi]------asyncio---256] 68.7018 (1.18) 2,181.3950 (15.28) 76.3618 (1.17) 39.8273 (8.03) 72.2879 (1.17) 3.7095 (3.17) 145;884 13.0956 (0.86) 8219 1 benchmark_get[aioredis[hi]------asyncio----10] 68.7409 (1.18) 1,017.9351 (7.13) 76.5459 (1.17) 18.1027 (3.65) 72.7111 (1.17) 4.0596 (3.47) 517;1091 13.0641 (0.86) 7830 1 benchmark_get[aioredis[hi]------asyncio--1024] 69.1349 (1.19) 655.6031 (4.59) 71.7940 (1.10) 8.3622 (1.69) 70.8196 (1.14) 1.1709 (1.0) 136;519 13.9287 (0.91) 7257 1 benchmark_get[aredis[hi]--------uvloop---1024] 70.1803 (1.21) 733.8491 (5.14) 75.6129 (1.15) 12.7820 (2.58) 73.3901 (1.19) 3.9617 (3.38) 191;293 13.2253 (0.87) 7213 1 benchmark_get[aioredis[hi]------asyncio--4096] 71.1982 (1.23) 726.2668 (5.09) 77.2180 (1.18) 12.9988 (2.62) 74.0606 (1.20) 2.8353 (2.42) 483;753 12.9504 (0.85) 8253 1 benchmark_get[aioredis[py]------uvloop-----10] 72.0141 (1.24) 2,503.5678 (17.53) 79.3013 (1.21) 36.8450 (7.43) 75.3305 (1.22) 2.9185 (2.49) 121;939 12.6101 (0.83) 7540 1 benchmark_get[aioredis[py]------uvloop----256] 72.3451 (1.25) 1,212.6542 (8.49) 78.1809 (1.19) 19.7565 (3.98) 75.5689 (1.22) 2.9554 (2.52) 224;477 12.7909 (0.84) 7391 1 benchmark_get[aredis[hi]--------uvloop---4096] 73.2662 (1.26) 1,052.1817 (7.37) 81.7932 (1.25) 19.7410 (3.98) 78.4313 (1.27) 4.6222 (3.95) 343;704 12.2260 (0.80) 6068 1 benchmark_get[aioredis[py]------uvloop---1024] 73.9801 (1.28) 5,473.1667 (38.33) 80.5057 (1.23) 75.6949 (15.26) 77.9820 (1.26) 2.8620 (2.44) 7;239 12.4215 (0.81) 6937 1 benchmark_get[aredis[py]--------uvloop-----10] 76.5971 (1.32) 986.2678 (6.91) 82.9011 (1.26) 15.9525 (3.22) 80.9366 (1.31) 3.0692 (2.62) 335;645 12.0626 (0.79) 8836 1 benchmark_get[aioredis[py]------uvloop---4096] 76.9980 (1.33) 389.0027 (2.72) 82.0516 (1.25) 8.2042 (1.65) 80.2400 (1.30) 2.5483 (2.18) 296;395 12.1875 (0.80) 6825 1 benchmark_get[aredis[py]--------uvloop----256] 77.7012 (1.34) 846.9149 (5.93) 89.6211 (1.37) 23.3804 (4.71) 83.3226 (1.35) 7.1893 (6.14) 591;1118 11.1581 (0.73) 8490 1 benchmark_get[aredis[py]--------uvloop---1024] 80.2693 (1.38) 1,468.3479 (10.28) 85.0907 (1.30) 22.4524 (4.53) 82.4626 (1.33) 2.8089 (2.40) 172;550 11.7522 (0.77) 7114 1 benchmark_get[aredis[py]--------uvloop---4096] 82.2963 (1.42) 5,313.1357 (37.21) 95.1952 (1.45) 69.0049 (13.91) 88.5790 (1.43) 5.7094 (4.88) 79;1000 10.5047 (0.69) 6933 1 benchmark_get[aioredis[hi]------uvloop--16384] 82.9310 (1.43) 6,876.8729 (48.16) 101.1836 (1.54) 83.1621 (16.77) 91.3241 (1.47) 18.2192 (15.56) 49;471 9.8830 (0.65) 7335 1 benchmark_get[aioredis[hi]------asyncio-16384] 83.0279 (1.43) 7,543.4223 (52.83) 108.4124 (1.65) 131.4145 (26.50) 91.2002 (1.47) 37.5396 (32.06) 21;50 9.2240 (0.60) 3633 1 benchmark_get[aioredis[py]------asyncio----10] 83.3520 (1.44) 3,236.1881 (22.66) 92.8009 (1.42) 53.4210 (10.77) 87.4694 (1.41) 4.5374 (3.88) 67;923 10.7758 (0.71) 7005 1 benchmark_get[aioredis[py]------asyncio---256] 83.8651 (1.45) 204.2782 (1.43) 88.4631 (1.35) 7.6271 (1.54) 86.1669 (1.39) 2.9354 (2.51) 388;501 11.3041 (0.74) 6889 1 benchmark_get[aioredis[py]------asyncio--1024] 85.5923 (1.48) 142.7839 (1.0) 89.4505 (1.36) 4.9596 (1.0) 87.9625 (1.42) 2.8340 (2.42) 300;303 11.1794 (0.73) 6626 1 benchmark_get[aredis[hi]--------asyncio----10] 87.0121 (1.50) 3,438.1370 (24.08) 94.5738 (1.44) 58.2598 (11.75) 89.4438 (1.44) 3.5334 (3.02) 43;814 10.5738 (0.69) 6383 1 benchmark_get[aredis[hi]--------asyncio---256] 87.5127 (1.51) 4,115.7473 (28.83) 96.6417 (1.47) 50.7013 (10.22) 91.9220 (1.48) 4.2497 (3.63) 115;1151 10.3475 (0.68) 7023 1 benchmark_get[aioredis[py]------asyncio--4096] 88.5241 (1.53) 3,058.9853 (21.42) 102.2905 (1.56) 52.2771 (10.54) 93.4820 (1.51) 9.4328 (8.06) 113;1050 9.7761 (0.64) 6991 1 benchmark_get[aredis[hi]--------asyncio--1024] 88.9087 (1.53) 2,561.6940 (17.94) 94.6959 (1.44) 44.2867 (8.93) 90.9395 (1.47) 3.3679 (2.88) 35;428 10.5601 (0.69) 6056 1 benchmark_get[aredis[hi]--------asyncio--4096] 91.4712 (1.58) 4,231.1978 (29.63) 99.4418 (1.52) 56.4541 (11.38) 93.6254 (1.51) 3.5125 (3.00) 51;993 10.0561 (0.66) 6004 1 benchmark_get[aredis[py]--------asyncio----10] 94.6941 (1.63) 1,758.1857 (12.31) 101.8694 (1.55) 28.9914 (5.85) 97.6196 (1.58) 3.9232 (3.35) 151;718 9.8165 (0.64) 6110 1 benchmark_get[aredis[py]--------asyncio---256] 96.1050 (1.66) 6,496.8602 (45.50) 112.1619 (1.71) 120.8166 (24.36) 102.3328 (1.65) 11.1032 (9.48) 18;412 8.9157 (0.58) 3797 1 benchmark_get[aredis[py]--------asyncio--1024] 98.6233 (1.70) 275.3306 (1.93) 104.9132 (1.60) 12.9333 (2.61) 100.8529 (1.63) 3.8675 (3.30) 268;424 9.5317 (0.62) 3517 1 benchmark_get[asyncio_redis[hi]-uvloop-----10] 98.6438 (1.70) 712.2834 (4.99) 108.0943 (1.65) 16.7889 (3.39) 102.5158 (1.66) 4.6396 (3.96) 507;792 9.2512 (0.61) 4759 1 benchmark_get[asyncio_redis[hi]-uvloop----256] 99.6580 (1.72) 3,431.3980 (24.03) 112.8974 (1.72) 57.3972 (11.57) 105.7442 (1.71) 7.7942 (6.66) 55;681 8.8576 (0.58) 4286 1 benchmark_get[aioredis[hi]------uvloop--32768] 99.6981 (1.72) 1,132.8650 (7.93) 110.8333 (1.69) 22.8137 (4.60) 104.6429 (1.69) 7.3501 (6.28) 561;1045 9.0226 (0.59) 6733 1 benchmark_get[aredis[py]--------asyncio--4096] 100.2387 (1.73) 778.3584 (5.45) 106.7830 (1.63) 15.4441 (3.11) 102.8818 (1.66) 3.6145 (3.09) 373;642 9.3648 (0.61) 5781 1 benchmark_get[aioredis[py]------asyncio-16384] 100.9330 (1.74) 356.5424 (2.50) 116.3628 (1.78) 20.5525 (4.14) 109.1906 (1.76) 7.0161 (5.99) 124;197 8.5938 (0.56) 1140 1 benchmark_get[asyncio_redis[hi]-uvloop---1024] 103.5538 (1.79) 1,629.7069 (11.41) 113.5484 (1.73) 32.5926 (6.57) 106.8951 (1.73) 5.5304 (4.72) 191;626 8.8068 (0.58) 4284 1 benchmark_get[aredis[hi]--------uvloop--16384] 104.6341 (1.80) 3,939.3054 (27.59) 130.1255 (1.99) 94.4194 (19.04) 117.2205 (1.89) 16.9899 (14.51) 66;412 7.6849 (0.50) 5056 1 benchmark_get[aioredis[py]------uvloop--16384] 105.3470 (1.82) 925.4948 (6.48) 127.4899 (1.95) 26.3715 (5.32) 118.6230 (1.92) 23.9317 (20.44) 462;179 7.8438 (0.51) 5319 1 benchmark_get[aredis[hi]--------asyncio-16384] 110.9168 (1.91) 4,438.0827 (31.08) 134.2534 (2.05) 83.2656 (16.79) 119.9073 (1.94) 28.9155 (24.69) 48;173 7.4486 (0.49) 3083 1 benchmark_get[asyncio_redis[hi]-uvloop---4096] 112.9201 (1.95) 4,207.2381 (29.47) 137.3373 (2.10) 92.0062 (18.55) 123.2405 (1.99) 26.6663 (22.77) 53;227 7.2813 (0.48) 4876 1 benchmark_get[aioredis[hi]------asyncio-32768] 112.9699 (1.95) 320.5901 (2.25) 124.6007 (1.90) 16.2399 (3.27) 118.8696 (1.92) 7.3519 (6.28) 435;532 8.0256 (0.53) 3806 1 benchmark_get[asyncio_redis[hi]-asyncio----10] 117.1348 (2.02) 2,887.7230 (20.22) 131.7935 (2.01) 65.4999 (13.21) 121.5986 (1.96) 17.2425 (14.73) 45;245 7.5876 (0.50) 4134 1 benchmark_get[asyncio_redis[py]-uvloop-----10] 118.1150 (2.04) 1,197.1230 (8.38) 126.9277 (1.94) 19.5181 (3.94) 121.6321 (1.96) 5.3018 (4.53) 479;885 7.8785 (0.52) 5767 1 benchmark_get[aredis[py]--------asyncio-16384] 118.9113 (2.05) 1,422.3270 (9.96) 137.9360 (2.10) 32.9718 (6.65) 125.8701 (2.03) 25.9018 (22.12) 542;282 7.2497 (0.48) 5623 1 benchmark_get[aredis[py]--------uvloop--16384] 119.2302 (2.06) 1,131.7120 (7.93) 135.9370 (2.07) 28.5858 (5.76) 127.2601 (2.05) 13.9016 (11.87) 450;562 7.3563 (0.48) 5580 1 benchmark_get[asyncio_redis[hi]-asyncio---256] 119.3229 (2.06) 2,910.9172 (20.39) 145.2427 (2.22) 54.4936 (10.99) 134.0467 (2.16) 31.3720 (26.79) 175;158 6.8850 (0.45) 4893 1 benchmark_get[asyncio_redis[py]-uvloop----256] 121.3737 (2.09) 760.5827 (5.33) 151.9084 (2.32) 31.1123 (6.27) 142.8169 (2.31) 29.8357 (25.48) 709;309 6.5829 (0.43) 5719 1 benchmark_get[aioredis[py]------uvloop--32768] 122.0410 (2.10) 4,186.0249 (29.32) 146.5899 (2.24) 78.1825 (15.76) 133.1551 (2.15) 27.4098 (23.41) 108;284 6.8218 (0.45) 5290 1 benchmark_get[asyncio_redis[hi]-asyncio--1024] 123.1446 (2.12) 323.2649 (2.26) 139.8524 (2.13) 23.3492 (4.71) 127.7048 (2.06) 20.1210 (17.18) 423;257 7.1504 (0.47) 3389 1 benchmark_get[asyncio_redis[py]-uvloop---1024] 125.3309 (2.16) 5,314.5760 (37.22) 147.0012 (2.24) 93.1970 (18.79) 135.1531 (2.18) 25.7898 (22.03) 68;274 6.8027 (0.45) 5703 1 benchmark_get[aredis[hi]--------uvloop--32768] 130.4597 (2.25) 4,146.9140 (29.04) 151.7728 (2.32) 88.9005 (17.93) 138.9729 (2.24) 19.8176 (16.93) 61;363 6.5888 (0.43) 4473 1 benchmark_get[asyncio_redis[py]-uvloop---4096] 134.1491 (2.31) 3,240.2943 (22.69) 165.0410 (2.52) 67.2034 (13.55) 154.9991 (2.50) 31.6440 (27.03) 158;223 6.0591 (0.40) 4884 1 benchmark_get[asyncio_redis[hi]-asyncio--4096] 134.3931 (2.32) 525.9872 (3.68) 159.6380 (2.44) 27.1326 (5.47) 151.0573 (2.44) 28.9120 (24.69) 256;102 6.2642 (0.41) 2769 1 benchmark_get[aioredis[py]------asyncio-32768] 141.1689 (2.43) 2,202.8061 (15.43) 174.3003 (2.66) 50.8717 (10.26) 167.2227 (2.70) 35.5707 (30.38) 174;103 5.7372 (0.38) 3996 1 benchmark_get[aredis[py]--------uvloop--32768] 147.6211 (2.54) 3,875.4689 (27.14) 181.4951 (2.77) 80.2572 (16.18) 169.3042 (2.73) 29.0525 (24.81) 119;268 5.5098 (0.36) 3971 1 benchmark_get[asyncio_redis[py]-asyncio----10] 147.7678 (2.55) 2,040.5021 (14.29) 155.1551 (2.37) 33.5126 (6.76) 150.6405 (2.43) 1.6999 (1.45) 93;752 6.4452 (0.42) 4156 1 benchmark_get[asyncio_redis[py]-asyncio---256] 149.6281 (2.58) 5,169.2780 (36.20) 198.0097 (3.02) 153.9854 (31.05) 182.9052 (2.95) 34.1750 (29.19) 48;205 5.0503 (0.33) 4221 1 benchmark_get[asyncio_redis[py]-asyncio--1024] 153.4922 (2.65) 2,931.9278 (20.53) 168.2533 (2.57) 64.4778 (13.00) 157.6142 (2.55) 13.6823 (11.69) 62;429 5.9434 (0.39) 4147 1 benchmark_get[aredis[hi]--------asyncio-32768] 156.5251 (2.70) 8,654.9236 (60.62) 194.5592 (2.97) 148.0127 (29.84) 183.1157 (2.96) 41.0721 (35.08) 10;98 5.1398 (0.34) 3581 1 benchmark_get[asyncio_redis[hi]-uvloop--16384] 164.7840 (2.84) 7,015.6623 (49.13) 191.9716 (2.93) 141.9642 (28.62) 180.5299 (2.92) 29.6603 (25.33) 10;191 5.2091 (0.34) 3600 1 benchmark_get[asyncio_redis[py]-asyncio--4096] 167.5650 (2.89) 7,426.5730 (52.01) 208.7725 (3.19) 144.9915 (29.23) 200.7177 (3.24) 23.0270 (19.67) 33;191 4.7899 (0.31) 3019 1 benchmark_get[aredis[py]--------asyncio-32768] 169.1221 (2.92) 1,799.8582 (12.61) 188.3488 (2.87) 37.1519 (7.49) 177.4475 (2.87) 23.8165 (20.34) 248;188 5.3093 (0.35) 3380 1 benchmark_get[asyncio_redis[hi]-asyncio-16384] 182.4410 (3.14) 3,562.4290 (24.95) 227.8539 (3.48) 102.3208 (20.63) 216.2787 (3.49) 36.8056 (31.43) 70;208 4.3888 (0.29) 3656 1 benchmark_get[asyncio_redis[py]-uvloop--16384] 195.9899 (3.38) 1,218.0442 (8.53) 242.4917 (3.70) 42.0201 (8.47) 234.0786 (3.78) 26.6074 (22.72) 205;147 4.1239 (0.27) 2326 1 benchmark_get[asyncio_redis[py]-asyncio-16384] 218.7099 (3.77) 489.1073 (3.43) 235.2627 (3.59) 16.2076 (3.27) 235.8849 (3.81) 13.4883 (11.52) 248;128 4.2506 (0.28) 2482 1 benchmark_get[asyncio_redis[hi]-uvloop--32768] 222.7868 (3.84) 6,336.9302 (44.38) 271.8016 (4.15) 138.4243 (27.91) 255.3042 (4.12) 33.7353 (28.81) 26;173 3.6792 (0.24) 2238 1 benchmark_get[asyncio_redis[hi]-asyncio-32768] 251.7859 (4.34) 3,230.3478 (22.62) 284.8298 (4.35) 64.0497 (12.91) 269.0121 (4.34) 18.2112 (15.55) 150;341 3.5109 (0.23) 2759 1 benchmark_get[asyncio_redis[py]-uvloop--32768] 257.2709 (4.43) 1,766.9140 (12.37) 284.5747 (4.34) 37.3410 (7.53) 274.1171 (4.43) 15.4056 (13.16) 156;214 3.5140 (0.23) 2737 1 benchmark_get[asyncio_redis[py]-asyncio-32768] 292.4618 (5.04) 1,840.1612 (12.89) 327.1170 (4.99) 40.9235 (8.25) 321.0278 (5.18) 23.9474 (20.45) 200;207 3.0570 (0.20) 2647 1

------------------------------------------------------------------------------------- benchmark 'redispy-get': 12 tests -------------------------------------------------------------------------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations

benchmark_get[redis-py[hi]----10] 25.9490 (1.0) 85.8917 (1.0) 28.1119 (1.0) 2.3749 (1.0) 27.8060 (1.0) 1.0733 (1.03) 252;256 35.5721 (1.0) 16686 1 benchmark_get[redis-py[hi]---256] 26.3620 (1.02) 281.6520 (3.28) 29.9472 (1.07) 5.6860 (2.39) 28.7201 (1.03) 1.4622 (1.40) 834;1940 33.3921 (0.94) 16094 1 benchmark_get[redis-py[hi]--1024] 27.6421 (1.07) 514.5823 (5.99) 30.4296 (1.08) 5.4985 (2.32) 30.1092 (1.08) 1.0466 (1.0) 331;435 32.8627 (0.92) 16191 1 benchmark_get[redis-py[hi]--4096] 29.2393 (1.13) 1,053.3030 (12.26) 33.5379 (1.19) 12.9004 (5.43) 32.0380 (1.15) 1.5970 (1.53) 423;1149 29.8170 (0.84) 14739 1 benchmark_get[redis-py[py]----10] 31.2440 (1.20) 2,648.4821 (30.84) 36.7056 (1.31) 30.3838 (12.79) 34.1609 (1.23) 2.0500 (1.96) 208;1804 27.2438 (0.77) 13289 1 benchmark_get[redis-py[py]---256] 32.3439 (1.25) 129.2708 (1.51) 35.5935 (1.27) 6.0378 (2.54) 34.3733 (1.24) 1.7323 (1.66) 443;571 28.0950 (0.79) 8568 1 benchmark_get[redis-py[py]--1024] 33.3800 (1.29) 3,086.0337 (35.93) 40.0521 (1.42) 39.6054 (16.68) 36.3926 (1.31) 3.2610 (3.12) 104;1770 24.9675 (0.70) 10942 1 benchmark_get[redis-py[py]--4096] 36.1283 (1.39) 211.9509 (2.47) 39.4598 (1.40) 5.2424 (2.21) 38.4040 (1.38) 1.1782 (1.13) 508;802 25.3423 (0.71) 10381 1 benchmark_get[redis-py[hi]-16384] 44.9577 (1.73) 3,763.0000 (43.81) 51.4174 (1.83) 36.1713 (15.23) 48.9331 (1.76) 3.4943 (3.34) 109;1203 19.4487 (0.55) 11168 1 benchmark_get[redis-py[py]-16384] 52.9047 (2.04) 1,287.2540 (14.99) 59.1994 (2.11) 17.7452 (7.47) 55.6251 (2.00) 3.3828 (3.23) 294;1297 16.8921 (0.47) 6835 1 benchmark_get[redis-py[hi]-32768] 60.8079 (2.34) 692.3699 (8.06) 67.8594 (2.41) 11.4609 (4.83) 65.8520 (2.37) 2.6522 (2.53) 466;838 14.7364 (0.41) 8188 1 benchmark_get[redis-py[py]-32768] 70.6138 (2.72) 4,127.9620 (48.06) 84.1747 (2.99) 65.2968 (27.49) 76.9417 (2.77) 7.2569 (6.93) 42;764 11.8801 (0.33) 5292 1

Sync/async set

.. code::

----------------------------------------------------------------------------------------------- benchmark 'async-set': 72 tests ------------------------------------------------------------------------------------------------ Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations

benchmark_set[aioredis[hi]------uvloop-----10] 70.5882 (1.0) 3,739.1949 (24.98) 86.2920 (1.13) 57.6758 (8.53) 77.9242 (1.03) 12.4166 (8.63) 161;761 11.5886 (0.89) 9316 1 benchmark_set[aioredis[hi]------uvloop----256] 71.2713 (1.01) 153.9639 (1.03) 76.5905 (1.0) 6.8755 (1.02) 75.5778 (1.0) 4.7756 (3.32) 70;61 13.0564 (1.0) 1737 1 benchmark_set[aredis[hi]--------uvloop-----10] 72.1039 (1.02) 1,981.2407 (13.24) 81.5476 (1.06) 25.7950 (3.82) 77.3524 (1.02) 4.5290 (3.15) 403;983 12.2628 (0.94) 7894 1 benchmark_set[aredis[hi]--------uvloop----256] 73.5889 (1.04) 149.6752 (1.0) 78.1720 (1.02) 6.7578 (1.0) 76.4001 (1.01) 3.1433 (2.18) 197;218 12.7923 (0.98) 4669 1 benchmark_set[aioredis[hi]------uvloop---1024] 74.0988 (1.05) 296.4293 (1.98) 84.3262 (1.10) 15.6340 (2.31) 78.5217 (1.04) 6.1784 (4.29) 771;1282 11.8587 (0.91) 7822 1 benchmark_set[aredis[hi]--------uvloop---1024] 74.2311 (1.05) 3,847.9008 (25.71) 89.1704 (1.16) 55.1039 (8.15) 79.4530 (1.05) 16.2619 (11.30) 125;388 11.2145 (0.86) 5271 1 benchmark_set[aredis[hi]--------uvloop---4096] 76.4513 (1.08) 2,331.1260 (15.57) 83.1183 (1.09) 39.2060 (5.80) 79.2150 (1.05) 4.4883 (3.12) 46;262 12.0310 (0.92) 3708 1 benchmark_set[aredis[py]--------uvloop-----10] 77.4181 (1.10) 2,719.5532 (18.17) 85.9876 (1.12) 37.7238 (5.58) 81.1238 (1.07) 3.4651 (2.41) 180;1146 11.6296 (0.89) 8593 1 benchmark_set[aredis[py]--------uvloop----256] 78.4858 (1.11) 1,113.8329 (7.44) 88.2669 (1.15) 24.6098 (3.64) 82.6702 (1.09) 6.7952 (4.72) 310;797 11.3293 (0.87) 5184 1 benchmark_set[aredis[py]--------uvloop---1024] 79.9340 (1.13) 1,586.0521 (10.60) 91.1938 (1.19) 23.5330 (3.48) 85.0293 (1.13) 4.9534 (3.44) 608;1528 10.9657 (0.84) 8209 1 benchmark_set[aredis[py]--------uvloop---4096] 81.0442 (1.15) 4,518.0800 (30.19) 94.5338 (1.23) 78.8044 (11.66) 85.8502 (1.14) 8.1556 (5.67) 64;859 10.5782 (0.81) 6382 1 benchmark_set[aioredis[py]------uvloop-----10] 81.7478 (1.16) 3,588.9214 (23.98) 94.1951 (1.23) 64.6735 (9.57) 86.6861 (1.15) 7.0878 (4.93) 90;1238 10.6163 (0.81) 7782 1 benchmark_set[aioredis[hi]------uvloop---4096] 82.0258 (1.16) 1,762.9229 (11.78) 100.5856 (1.31) 45.4677 (6.73) 90.3134 (1.19) 18.4090 (12.79) 228;422 9.9418 (0.76) 6562 1 benchmark_set[aioredis[py]------uvloop----256] 82.9222 (1.17) 4,702.8051 (31.42) 99.3809 (1.30) 58.0346 (8.59) 90.9157 (1.20) 18.2015 (12.65) 98;310 10.0623 (0.77) 7716 1 benchmark_set[aioredis[py]------uvloop---1024] 86.3918 (1.22) 1,672.4179 (11.17) 95.0904 (1.24) 25.9735 (3.84) 90.5199 (1.20) 3.8253 (2.66) 389;1040 10.5163 (0.81) 7355 1 benchmark_set[aredis[hi]--------uvloop--16384] 87.5629 (1.24) 390.4519 (2.61) 99.9597 (1.31) 19.0046 (2.81) 92.5097 (1.22) 9.3648 (6.51) 472;549 10.0040 (0.77) 3959 1 benchmark_set[aioredis[hi]------asyncio----10] 88.6600 (1.26) 226.0851 (1.51) 93.4210 (1.22) 9.1040 (1.35) 90.5818 (1.20) 2.7507 (1.91) 257;361 10.7042 (0.82) 3906 1 benchmark_set[aioredis[hi]------asyncio---256] 90.3420 (1.28) 1,348.9281 (9.01) 97.0693 (1.27) 17.7937 (2.63) 93.5090 (1.24) 3.7476 (2.60) 536;995 10.3019 (0.79) 7738 1 benchmark_set[aredis[hi]--------asyncio---256] 91.7111 (1.30) 3,042.3207 (20.33) 103.1618 (1.35) 41.7657 (6.18) 96.6620 (1.28) 8.3009 (5.77) 142;844 9.6935 (0.74) 5867 1 benchmark_set[aredis[hi]--------asyncio----10] 92.0761 (1.30) 254.3107 (1.70) 95.8505 (1.25) 7.1064 (1.05) 93.9267 (1.24) 2.4578 (1.71) 381;493 10.4329 (0.80) 6062 1 benchmark_set[aredis[hi]--------asyncio--1024] 92.5949 (1.31) 707.0377 (4.72) 101.8988 (1.33) 18.4597 (2.73) 95.7185 (1.27) 6.0124 (4.18) 479;779 9.8137 (0.75) 5032 1 benchmark_set[aredis[py]--------uvloop--16384] 93.0638 (1.32) 3,032.8711 (20.26) 111.5685 (1.46) 42.8329 (6.34) 101.8150 (1.35) 19.5863 (13.61) 354;449 8.9631 (0.69) 6295 1 benchmark_set[aioredis[hi]------asyncio--1024] 93.4927 (1.32) 7,015.8141 (46.87) 101.9932 (1.33) 89.1358 (13.19) 96.9963 (1.28) 3.2224 (2.24) 25;886 9.8046 (0.75) 6914 1 benchmark_set[aioredis[py]------uvloop---4096] 93.5961 (1.33) 283.9030 (1.90) 99.8292 (1.30) 12.5102 (1.85) 95.9341 (1.27) 3.3176 (2.31) 81;155 10.0171 (0.77) 1113 1 benchmark_set[aredis[hi]--------asyncio--4096] 94.3639 (1.34) 275.9239 (1.84) 107.4095 (1.40) 18.8563 (2.79) 99.3549 (1.31) 13.6975 (9.52) 874;686 9.3102 (0.71) 6519 1 benchmark_set[aredis[hi]--------uvloop--32768] 96.6522 (1.37) 2,513.7160 (16.79) 103.9831 (1.36) 42.3733 (6.27) 99.7274 (1.32) 4.0238 (2.80) 110;475 9.6169 (0.74) 5132 1 benchmark_set[aredis[py]--------asyncio----10] 97.0340 (1.37) 1,837.2280 (12.27) 108.8877 (1.42) 28.3005 (4.19) 101.5607 (1.34) 11.4760 (7.98) 444;775 9.1838 (0.70) 5797 1 benchmark_set[aredis[py]--------asyncio---256] 97.3730 (1.38) 1,951.5338 (13.04) 102.3676 (1.34) 26.2876 (3.89) 99.6527 (1.32) 3.0734 (2.14) 101;553 9.7687 (0.75) 6256 1 benchmark_set[aredis[py]--------asyncio--1024] 98.5041 (1.40) 1,095.1809 (7.32) 107.7385 (1.41) 20.5312 (3.04) 102.6657 (1.36) 5.7608 (4.00) 435;789 9.2817 (0.71) 5933 1 benchmark_set[aioredis[hi]------asyncio--4096] 99.0750 (1.40) 4,196.8608 (28.04) 106.2041 (1.39) 52.1061 (7.71) 101.5356 (1.34) 3.7353 (2.60) 55;787 9.4158 (0.72) 6896 1 benchmark_set[aredis[py]--------uvloop--32768] 99.3703 (1.41) 2,025.5172 (13.53) 109.4646 (1.43) 28.2372 (4.18) 104.5440 (1.38) 5.5151 (3.83) 340;887 9.1354 (0.70) 6632 1 benchmark_set[aredis[py]--------asyncio--4096] 99.8531 (1.41) 3,967.4626 (26.51) 111.7891 (1.46) 53.4646 (7.91) 104.8730 (1.39) 7.4303 (5.16) 125;903 8.9454 (0.69) 6007 1 benchmark_set[aioredis[py]------asyncio----10] 100.7789 (1.43) 1,060.5264 (7.09) 107.3500 (1.40) 15.3257 (2.27) 105.2809 (1.39) 3.4607 (2.41) 350;624 9.3153 (0.71) 5999 1 benchmark_set[aioredis[py]------asyncio---256] 101.7149 (1.44) 253.7328 (1.70) 114.1063 (1.49) 14.0409 (2.08) 107.7321 (1.43) 9.4266 (6.55) 858;768 8.7638 (0.67) 5999 1 benchmark_set[aioredis[py]------asyncio--1024] 104.7081 (1.48) 3,392.4286 (22.67) 110.9044 (1.45) 47.6546 (7.05) 106.8180 (1.41) 3.1440 (2.19) 69;705 9.0168 (0.69) 6663 1 benchmark_set[aredis[hi]--------asyncio-16384] 107.5841 (1.52) 5,611.2744 (37.49) 124.4857 (1.63) 76.7872 (11.36) 113.7436 (1.50) 15.2616 (10.61) 82;676 8.0330 (0.62) 5582 1 benchmark_set[aredis[py]--------asyncio-16384] 111.4472 (1.58) 195.6243 (1.31) 117.1855 (1.53) 7.4012 (1.10) 115.2980 (1.53) 1.4389 (1.0) 271;619 8.5335 (0.65) 3658 1 benchmark_set[aioredis[py]------asyncio--4096] 112.6342 (1.60) 4,035.1814 (26.96) 121.1611 (1.58) 51.2822 (7.59) 117.0561 (1.55) 4.7587 (3.31) 68;959 8.2535 (0.63) 6327 1 benchmark_set[aioredis[hi]------uvloop--16384] 124.0652 (1.76) 491.3211 (3.28) 136.7718 (1.79) 18.7159 (2.77) 128.0550 (1.69) 13.1209 (9.12) 548;414 7.3114 (0.56) 4829 1 benchmark_set[aredis[hi]--------asyncio-32768] 127.0082 (1.80) 758.3098 (5.07) 138.6343 (1.81) 20.0206 (2.96) 132.8005 (1.76) 8.5998 (5.98) 312;449 7.2132 (0.55) 3442 1 benchmark_set[asyncio_redis[hi]-uvloop-----10] 128.3092 (1.82) 3,133.0166 (20.93) 148.0199 (1.93) 61.2394 (9.06) 135.7240 (1.80) 22.4126 (15.58) 104;307 6.7558 (0.52) 4513 1 benchmark_set[asyncio_redis[hi]-uvloop----256] 128.9099 (1.83) 349.4290 (2.33) 140.6344 (1.84) 17.5051 (2.59) 133.0851 (1.76) 12.1191 (8.42) 527;337 7.1106 (0.54) 4207 1 benchmark_set[aredis[py]--------asyncio-32768] 130.0061 (1.84) 2,034.9100 (13.60) 143.9477 (1.88) 33.5238 (4.96) 136.9191 (1.81) 11.3500 (7.89) 267;548 6.9470 (0.53) 4702 1 benchmark_set[aioredis[hi]------asyncio-16384] 133.3761 (1.89) 777.9263 (5.20) 147.0550 (1.92) 23.8748 (3.53) 139.4269 (1.84) 12.5472 (8.72) 371;442 6.8002 (0.52) 4595 1 benchmark_set[asyncio_redis[hi]-uvloop---1024] 133.7901 (1.90) 1,990.8692 (13.30) 154.9906 (2.02) 46.5472 (6.89) 141.9811 (1.88) 27.2705 (18.95) 201;181 6.4520 (0.49) 4179 1 benchmark_set[aioredis[py]------uvloop--16384] 137.5531 (1.95) 341.9057 (2.28) 165.9739 (2.17) 29.7818 (4.41) 157.3912 (2.08) 28.8275 (20.03) 218;114 6.0250 (0.46) 1651 1 benchmark_set[asyncio_redis[hi]-uvloop---4096] 141.2542 (2.00) 3,042.8581 (20.33) 161.4463 (2.11) 65.9705 (9.76) 147.5727 (1.95) 20.8509 (14.49) 133;372 6.1940 (0.47) 4619 1 benchmark_set[asyncio_redis[py]-uvloop-----10] 143.5131 (2.03) 559.5149 (3.74) 151.3929 (1.98) 11.3258 (1.68) 147.8163 (1.96) 4.5327 (3.15) 329;479 6.6053 (0.51) 4135 1 benchmark_set[aioredis[py]------asyncio-16384] 144.9650 (2.05) 9,888.2420 (66.06) 162.9540 (2.13) 140.1311 (20.74) 152.7169 (2.02) 16.4446 (11.43) 10;404 6.1367 (0.47) 4967 1 benchmark_set[asyncio_redis[py]-uvloop----256] 148.2270 (2.10) 2,626.9420 (17.55) 185.7274 (2.42) 62.0942 (9.19) 177.9916 (2.36) 36.1761 (25.14) 160;138 5.3842 (0.41) 3924 1 benchmark_set[asyncio_redis[py]-uvloop---1024] 149.8396 (2.12) 3,404.4920 (22.75) 162.6780 (2.12) 51.2579 (7.58) 154.8040 (2.05) 8.2732 (5.75) 139;621 6.1471 (0.47) 4901 1 benchmark_set[asyncio_redis[hi]-asyncio----10] 151.0852 (2.14) 1,751.8001 (11.70) 163.3833 (2.13) 34.2605 (5.07) 154.8934 (2.05) 8.3542 (5.81) 218;670 6.1206 (0.47) 4260 1 benchmark_set[asyncio_redis[hi]-asyncio---256] 152.2363 (2.16) 3,284.4841 (21.94) 172.1065 (2.25) 61.8666 (9.15) 158.7381 (2.10) 19.8488 (13.79) 123;307 5.8104 (0.45) 4410 1 benchmark_set[asyncio_redis[hi]-asyncio--1024] 156.0259 (2.21) 3,460.0012 (23.12) 178.8161 (2.33) 59.5725 (8.82) 166.8739 (2.21) 27.0266 (18.78) 163;199 5.5923 (0.43) 3999 1 benchmark_set[asyncio_redis[py]-uvloop---4096] 157.8080 (2.24) 2,972.4711 (19.86) 192.2446 (2.51) 71.7883 (10.62) 186.8792 (2.47) 28.8790 (20.07) 108;170 5.2017 (0.40) 3977 1 benchmark_set[aioredis[hi]------uvloop--32768] 163.5640 (2.32) 3,210.4664 (21.45) 182.5272 (2.38) 62.4350 (9.24) 171.9708 (2.28) 14.5985 (10.15) 102;368 5.4786 (0.42) 4004 1 benchmark_set[asyncio_redis[hi]-asyncio--4096] 165.9789 (2.35) 743.7998 (4.97) 197.0438 (2.57) 31.5578 (4.67) 190.0755 (2.51) 35.7451 (24.84) 271;85 5.0750 (0.39) 2676 1 benchmark_set[asyncio_redis[py]-asyncio----10] 170.8372 (2.42) 2,975.5821 (19.88) 183.7087 (2.40) 63.0708 (9.33) 175.9396 (2.33) 6.0559 (4.21) 31;829 5.4434 (0.42) 4482 1 benchmark_set[aioredis[py]------uvloop--32768] 175.3150 (2.48) 1,925.9718 (12.87) 201.9477 (2.64) 51.3429 (7.60) 190.9407 (2.53) 27.7598 (19.29) 96;106 4.9518 (0.38) 1589 1 benchmark_set[asyncio_redis[py]-asyncio---256] 176.1252 (2.50) 961.9370 (6.43) 222.8510 (2.91) 49.7733 (7.37) 215.3807 (2.85) 35.3665 (24.58) 251;166 4.4873 (0.34) 2840 1 benchmark_set[aioredis[hi]------asyncio-32768] 180.4773 (2.56) 573.7981 (3.83) 206.8135 (2.70) 25.6516 (3.80) 200.9692 (2.66) 28.5222 (19.82) 490;185 4.8353 (0.37) 4461 1 benchmark_set[asyncio_redis[py]-asyncio--1024] 181.4631 (2.57) 3,400.7491 (22.72) 212.5014 (2.77) 61.4563 (9.09) 204.7669 (2.71) 27.9858 (19.45) 129;177 4.7059 (0.36) 4030 1 benchmark_set[asyncio_redis[hi]-uvloop--16384] 183.3872 (2.60) 2,364.1828 (15.80) 218.1202 (2.85) 58.6838 (8.68) 204.9417 (2.71) 31.6263 (21.98) 294;336 4.5846 (0.35) 3958 1 benchmark_set[asyncio_redis[py]-asyncio--4096] 189.6918 (2.69) 6,317.3608 (42.21) 245.8724 (3.21) 167.7197 (24.82) 231.3331 (3.06) 31.3316 (21.77) 30;240 4.0671 (0.31) 3115 1 benchmark_set[aioredis[py]------asyncio-32768] 194.8429 (2.76) 3,271.0261 (21.85) 222.0706 (2.90) 58.3475 (8.63) 214.9981 (2.84) 30.9772 (21.53) 123;149 4.5031 (0.34) 3543 1 benchmark_set[asyncio_redis[py]-uvloop--16384] 203.9010 (2.89) 4,544.7568 (30.36) 233.4512 (3.05) 140.0894 (20.73) 209.1394 (2.77) 20.8807 (14.51) 28;225 4.2836 (0.33) 1714 1 benchmark_set[asyncio_redis[hi]-asyncio-16384] 211.7120 (3.00) 7,393.0058 (49.39) 269.2507 (3.52) 187.2486 (27.71) 246.4680 (3.26) 33.4884 (23.27) 51;208 3.7140 (0.28) 2799 1 benchmark_set[asyncio_redis[hi]-uvloop--32768] 233.6758 (3.31) 741.5111 (4.95) 265.0901 (3.46) 28.8966 (4.28) 253.2788 (3.35) 18.7848 (13.06) 318;269 3.7723 (0.29) 2578 1 benchmark_set[asyncio_redis[py]-asyncio-16384] 236.9191 (3.36) 1,559.4116 (10.42) 287.2791 (3.75) 60.7494 (8.99) 268.2609 (3.55) 42.2300 (29.35) 295;229 3.4809 (0.27) 2905 1 benchmark_set[asyncio_redis[py]-uvloop--32768] 252.3651 (3.58) 3,357.2977 (22.43) 300.5051 (3.92) 72.3989 (10.71) 285.1500 (3.77) 43.2682 (30.07) 185;166 3.3277 (0.25) 3023 1 benchmark_set[asyncio_redis[hi]-asyncio-32768] 270.0430 (3.83) 2,777.1853 (18.55) 304.3302 (3.97) 55.6821 (8.24) 298.0642 (3.94) 21.8842 (15.21) 166;239 3.2859 (0.25) 2794 1 benchmark_set[asyncio_redis[py]-asyncio-32768] 291.6497 (4.13) 4,365.4991 (29.17) 349.3691 (4.56) 120.4092 (17.82) 330.7061 (4.38) 45.9254 (31.92) 59;141 2.8623 (0.22) 2521 1

--------------------------------------------------------------------------------------- benchmark 'redispy-set': 12 tests ---------------------------------------------------------------------------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations

benchmark_set[redis-py[hi]----10] 30.3299 (1.0) 81.1359 (1.0) 32.8051 (1.0) 3.1756 (1.0) 32.4999 (1.0) 1.6538 (1.35) 72;72 30.4831 (1.0) 3817 1 benchmark_set[redis-py[hi]---256] 31.1104 (1.03) 2,433.8150 (30.00) 34.6098 (1.06) 21.9491 (6.91) 33.7493 (1.04) 1.2289 (1.0) 102;862 28.8935 (0.95) 12407 1 benchmark_set[redis-py[hi]--1024] 33.3670 (1.10) 132.6050 (1.63) 36.9119 (1.13) 4.1591 (1.31) 36.7740 (1.13) 1.7940 (1.46) 79;84 27.0915 (0.89) 3784 1 benchmark_set[redis-py[py]---256] 34.4771 (1.14) 660.0250 (8.13) 42.5216 (1.30) 14.2721 (4.49) 38.5391 (1.19) 3.7178 (3.03) 299;684 23.5174 (0.77) 3842 1 benchmark_set[redis-py[py]----10] 34.6201 (1.14) 150.9190 (1.86) 37.4137 (1.14) 4.3763 (1.38) 36.8888 (1.14) 1.2885 (1.05) 308;361 26.7282 (0.88) 10388 1 benchmark_set[redis-py[py]--1024] 37.1980 (1.23) 716.7920 (8.83) 41.9740 (1.28) 10.8130 (3.41) 40.0990 (1.23) 2.0453 (1.66) 601;1015 23.8243 (0.78) 10071 1 benchmark_set[redis-py[hi]--4096] 45.1612 (1.49) 157.8899 (1.95) 49.8067 (1.52) 7.7202 (2.43) 48.0525 (1.48) 1.7034 (1.39) 228;287 20.0776 (0.66) 3590 1 benchmark_set[redis-py[py]--4096] 48.4390 (1.60) 166.8879 (2.06) 54.9356 (1.67) 8.1783 (2.58) 52.6919 (1.62) 2.4781 (2.02) 388;577 18.2031 (0.60) 3513 1 benchmark_set[redis-py[hi]-16384] 83.6989 (2.76) 258.0360 (3.18) 95.8259 (2.92) 15.1490 (4.77) 89.5469 (2.76) 14.9920 (12.20) 268;141 10.4356 (0.34) 2586 1 benchmark_set[redis-py[py]-16384] 87.2626 (2.88) 271.0600 (3.34) 97.2631 (2.96) 13.9207 (4.38) 91.9551 (2.83) 9.9810 (8.12) 295;258 10.2814 (0.34) 2810 1 benchmark_set[redis-py[hi]-32768] 134.2711 (4.43) 3,983.2499 (49.09) 148.2646 (4.52) 81.5341 (25.68) 140.0500 (4.31) 11.8606 (9.65) 9;303 6.7447 (0.22) 2316 1 benchmark_set[redis-py[py]-32768] 137.1033 (4.52) 876.9562 (10.81) 159.6723 (4.87) 27.2052 (8.57) 151.8121 (4.67) 28.6810 (23.34) 265;67 6.2628 (0.21) 2253 1

Sync/async hgetall

.. code::

--------------------------------------------------------------------------------------------------------- benchmark 'async-hgetall': 72 tests --------------------------------------------------------------------------------------------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations

benchmark_hgetall[aioredis[hi]------asyncio----10] 115.6470 (1.0) 1,846.1640 (7.72) 137.2367 (1.11) 28.1982 (4.21) 135.9191 (1.12) 5.1679 (2.56) 192;1385 7,286.6797 (0.90) 4845 1 benchmark_hgetall[aioredis[hi]------uvloop-----10] 118.4349 (1.02) 239.2791 (1.0) 123.5362 (1.0) 6.7049 (1.0) 121.7991 (1.0) 2.0158 (1.0) 291;531 8,094.7952 (1.0) 5114 1 benchmark_hgetall[aredis[hi]--------uvloop-----10] 136.3363 (1.18) 1,824.3343 (7.62) 144.3930 (1.17) 34.6578 (5.17) 139.0069 (1.14) 4.7418 (2.35) 68;446 6,925.5449 (0.86) 3762 1 benchmark_hgetall[asyncio_redis[hi]-uvloop-----10] 158.2392 (1.37) 376.8131 (1.57) 190.8121 (1.54) 32.5603 (4.86) 176.9015 (1.45) 31.0382 (15.40) 271;168 5,240.7565 (0.65) 1646 1 benchmark_hgetall[aredis[hi]--------asyncio----10] 163.3549 (1.41) 246.2408 (1.03) 170.8683 (1.38) 8.8285 (1.32) 167.2269 (1.37) 6.7811 (3.36) 136;87 5,852.4616 (0.72) 1649 1 benchmark_hgetall[aioredis[hi]------asyncio---256] 182.2440 (1.58) 1,965.2941 (8.21) 200.3676 (1.62) 43.0071 (6.41) 191.7658 (1.57) 14.1421 (7.02) 145;316 4,990.8267 (0.62) 3997 1 benchmark_hgetall[asyncio_redis[hi]-asyncio----10] 187.9800 (1.63) 2,178.3081 (9.10) 215.1274 (1.74) 46.4313 (6.92) 203.9950 (1.67) 32.9624 (16.35) 276;196 4,648.4087 (0.57) 3473 1 benchmark_hgetall[aioredis[hi]------uvloop----256] 191.9703 (1.66) 1,991.9849 (8.32) 232.8310 (1.88) 49.2230 (7.34) 226.7212 (1.86) 21.0634 (10.45) 218;315 4,294.9609 (0.53) 3269 1 benchmark_hgetall[aredis[hi]--------uvloop----256] 203.9694 (1.76) 7,364.0109 (30.78) 253.8606 (2.05) 228.0738 (34.02) 232.9571 (1.91) 24.1948 (12.00) 18;101 3,939.1697 (0.49) 1270 1 benchmark_hgetall[aredis[hi]--------asyncio---256] 208.2633 (1.80) 1,807.9272 (7.56) 260.6177 (2.11) 61.3293 (9.15) 240.2789 (1.97) 37.0672 (18.39) 308;276 3,837.0379 (0.47) 3253 1 benchmark_hgetall[aredis[py]--------uvloop-----10] 228.9820 (1.98) 2,706.9109 (11.31) 254.0013 (2.06) 70.8631 (10.57) 245.2699 (2.01) 16.3078 (8.09) 68;184 3,936.9882 (0.49) 3159 1 benchmark_hgetall[aioredis[py]------asyncio----10] 233.3107 (2.02) 1,333.1780 (5.57) 283.2229 (2.29) 35.3247 (5.27) 272.9406 (2.24) 13.3736 (6.63) 302;448 3,530.7873 (0.44) 3292 1 benchmark_hgetall[aioredis[py]------uvloop-----10] 237.2591 (2.05) 1,805.9500 (7.55) 256.2531 (2.07) 29.9627 (4.47) 252.5921 (2.07) 2.1367 (1.06) 47;644 3,902.3912 (0.48) 3136 1 benchmark_hgetall[aredis[py]--------asyncio----10] 256.8210 (2.22) 1,719.2471 (7.19) 283.2040 (2.29) 38.5876 (5.76) 273.8517 (2.25) 16.3601 (8.12) 127;178 3,531.0234 (0.44) 2931 1 benchmark_hgetall[asyncio_redis[py]-uvloop-----10] 366.1392 (3.17) 2,967.5448 (12.40) 446.8796 (3.62) 134.5907 (20.07) 423.1478 (3.47) 64.7209 (32.11) 57;74 2,237.7393 (0.28) 1810 1 benchmark_hgetall[asyncio_redis[py]-asyncio----10] 370.5514 (3.20) 3,822.0510 (15.97) 443.7520 (3.59) 90.9533 (13.57) 426.4349 (3.50) 45.0243 (22.34) 91;123 2,253.5111 (0.28) 1793 1 benchmark_hgetall[aioredis[hi]------asyncio--1024] 457.5062 (3.96) 6,867.0991 (28.70) 593.9385 (4.81) 236.3585 (35.25) 588.0841 (4.83) 40.4415 (20.06) 16;205 1,683.6760 (0.21) 1463 1 benchmark_hgetall[aioredis[hi]------uvloop---1024] 461.1863 (3.99) 3,818.4170 (15.96) 609.9319 (4.94) 145.5842 (21.71) 622.6203 (5.11) 105.6190 (52.39) 37;28 1,639.5272 (0.20) 1993 1 benchmark_hgetall[aredis[hi]--------uvloop---1024] 469.9458 (4.06) 3,597.5217 (15.03) 646.7035 (5.23) 102.5639 (15.30) 637.4260 (5.23) 67.0130 (33.24) 209;149 1,546.3037 (0.19) 1631 1 benchmark_hgetall[aredis[hi]--------asyncio--1024] 496.1649 (4.29) 3,215.3782 (13.44) 648.9366 (5.25) 119.5882 (17.84) 629.7771 (5.17) 86.3206 (42.82) 212;81 1,540.9826 (0.19) 1412 1 benchmark_hgetall[asyncio_redis[hi]-uvloop----256] 537.4360 (4.65) 5,292.0808 (22.12) 636.7694 (5.15) 158.7630 (23.68) 606.2076 (4.98) 92.5284 (45.90) 68;63 1,570.4271 (0.19) 1239 1 benchmark_hgetall[asyncio_redis[hi]-asyncio---256] 560.6394 (4.85) 8,265.5000 (34.54) 685.0135 (5.55) 354.6393 (52.89) 622.6939 (5.11) 102.4692 (50.83) 40;89 1,459.8253 (0.18) 1548 1 benchmark_hgetall[aioredis[hi]------uvloop---4096] 1,545.1522 (13.36) 10,034.1928 (41.94) 2,130.5528 (17.25) 522.1947 (77.88) 2,043.8149 (16.78) 508.0305 (252.02) 37;6 469.3618 (0.06) 513 1 benchmark_hgetall[aioredis[hi]------asyncio--4096] 1,609.9680 (13.92) 4,734.4412 (19.79) 2,348.5873 (19.01) 169.4589 (25.27) 2,345.9918 (19.26) 120.0775 (59.57) 41;31 425.7879 (0.05) 495 1 benchmark_hgetall[aredis[hi]--------uvloop---4096] 1,634.6327 (14.13) 3,445.5652 (14.40) 2,077.0551 (16.81) 305.6724 (45.59) 2,010.7205 (16.51) 301.0221 (149.33) 82;27 481.4509 (0.06) 356 1 benchmark_hgetall[aredis[hi]--------asyncio--4096] 1,646.6910 (14.24) 5,046.5870 (21.09) 2,320.7368 (18.79) 292.0830 (43.56) 2,387.3399 (19.60) 304.5963 (151.10) 97;17 430.8976 (0.05) 456 1 benchmark_hgetall[asyncio_redis[hi]-uvloop---1024] 1,729.7990 (14.96) 3,188.7107 (13.33) 1,850.2847 (14.98) 89.1388 (13.29) 1,845.2229 (15.15) 32.3852 (16.07) 20;36 540.4574 (0.07) 515 1 benchmark_hgetall[asyncio_redis[hi]-asyncio--1024] 1,756.4609 (15.19) 5,623.6321 (23.50) 1,918.2166 (15.53) 237.5025 (35.42) 1,853.7501 (15.22) 181.1236 (89.85) 52;37 521.3176 (0.06) 537 1 benchmark_hgetall[aredis[py]--------asyncio---256] 2,030.7740 (17.56) 2,753.5930 (11.51) 2,143.7592 (17.35) 126.3686 (18.85) 2,086.3479 (17.13) 101.2858 (50.24) 53;42 466.4703 (0.06) 456 1 benchmark_hgetall[aredis[py]--------uvloop----256] 2,056.1158 (17.78) 2,718.1138 (11.36) 2,179.8605 (17.65) 131.4547 (19.61) 2,109.6759 (17.32) 128.4522 (63.72) 46;25 458.7450 (0.06) 306 1 benchmark_hgetall[aioredis[py]------asyncio---256] 2,317.3261 (20.04) 5,498.9327 (22.98) 2,584.0715 (20.92) 318.5948 (47.52) 2,494.1145 (20.48) 324.8639 (161.16) 48;18 386.9862 (0.05) 419 1 benchmark_hgetall[aioredis[py]------uvloop----256] 2,323.1967 (20.09) 4,097.1311 (17.12) 2,415.6565 (19.55) 143.4351 (21.39) 2,361.6487 (19.39) 84.2623 (41.80) 38;38 413.9661 (0.05) 361 1 benchmark_hgetall[asyncio_redis[py]-asyncio---256] 4,313.5970 (37.30) 5,835.3418 (24.39) 4,499.4023 (36.42) 215.5202 (32.14) 4,404.9602 (36.17) 198.9562 (98.70) 25;20 222.2517 (0.03) 221 1 benchmark_hgetall[asyncio_redis[py]-uvloop----256] 4,326.6802 (37.41) 5,720.4119 (23.91) 4,470.8212 (36.19) 200.0339 (29.83) 4,392.1908 (36.06) 111.2410 (55.18) 25;27 223.6726 (0.03) 213 1 benchmark_hgetall[asyncio_redis[hi]-uvloop---4096] 6,575.0871 (56.85) 9,308.1119 (38.90) 6,753.5331 (54.67) 283.1044 (42.22) 6,710.3119 (55.09) 88.8709 (44.09) 4;9 148.0706 (0.02) 143 1 benchmark_hgetall[asyncio_redis[hi]-asyncio--4096] 6,578.0589 (56.88) 11,433.8170 (47.78) 6,962.7032 (56.36) 493.3706 (73.58) 6,870.5750 (56.41) 317.0471 (157.28) 10;10 143.6224 (0.02) 148 1 benchmark_hgetall[aioredis[hi]------uvloop--16384] 6,888.1670 (59.56) 13,409.9042 (56.04) 9,300.2336 (75.28) 1,032.7686 (154.03) 9,157.3661 (75.18) 1,195.3323 (592.97) 32;3 107.5242 (0.01) 123 1 benchmark_hgetall[aredis[hi]--------uvloop--16384] 7,121.7050 (61.58) 14,026.8542 (58.62) 10,213.8557 (82.68) 1,086.1138 (161.99) 9,988.2097 (82.01) 1,015.2515 (503.64) 28;10 97.9062 (0.01) 111 1 benchmark_hgetall[aioredis[hi]------asyncio-16384] 7,330.0172 (63.38) 15,478.9411 (64.69) 8,879.2630 (71.88) 1,182.8791 (176.42) 8,586.0181 (70.49) 962.0031 (477.22) 18;5 112.6220 (0.01) 110 1 benchmark_hgetall[aredis[py]--------asyncio--1024] 7,746.2830 (66.98) 9,911.5819 (41.42) 8,143.8088 (65.92) 378.8101 (56.50) 8,016.8389 (65.82) 500.7386 (248.40) 23;2 122.7927 (0.02) 118 1 benchmark_hgetall[aredis[py]--------uvloop---1024] 7,965.2588 (68.88) 10,669.5299 (44.59) 8,474.0991 (68.60) 492.6206 (73.47) 8,324.8569 (68.35) 494.2496 (245.18) 13;5 118.0066 (0.01) 106 1 benchmark_hgetall[aredis[hi]--------asyncio-16384] 8,716.0710 (75.37) 15,995.2370 (66.85) 10,954.4284 (88.67) 1,142.8332 (170.45) 10,990.4590 (90.23) 1,558.2431 (773.00) 26;1 91.2873 (0.01) 100 1 benchmark_hgetall[aioredis[py]------asyncio--1024] 8,898.8640 (76.95) 11,350.1288 (47.43) 9,550.3331 (77.31) 410.2613 (61.19) 9,496.9710 (77.97) 475.5122 (235.89) 29;4 104.7084 (0.01) 103 1 benchmark_hgetall[aioredis[py]------uvloop---1024] 9,040.8158 (78.18) 11,392.1990 (47.61) 9,805.6637 (79.37) 666.8100 (99.45) 9,761.6164 (80.15) 1,209.8295 (600.16) 43;0 101.9819 (0.01) 102 1 benchmark_hgetall[aioredis[hi]------asyncio-32768] 14,380.3381 (124.35) 21,135.7418 (88.33) 17,859.2727 (144.57) 1,311.5051 (195.60) 17,783.4502 (146.01) 1,776.8194 (881.43) 19;1 55.9933 (0.01) 64 1 benchmark_hgetall[asyncio_redis[py]-uvloop---1024] 16,735.1412 (144.71) 19,543.9439 (81.68) 17,395.6607 (140.81) 611.9981 (91.28) 17,098.4888 (140.38) 995.7813 (493.98) 10;1 57.4856 (0.01) 54 1 benchmark_hgetall[aredis[hi]--------asyncio-32768] 16,736.5810 (144.72) 23,936.4561 (100.04) 18,795.3119 (152.14) 1,377.6297 (205.46) 18,415.4748 (151.20) 1,886.3815 (935.78) 14;1 53.2048 (0.01) 53 1 benchmark_hgetall[asyncio_redis[py]-asyncio--1024] 16,826.5253 (145.50) 19,765.0110 (82.60) 17,560.2135 (142.15) 743.1290 (110.83) 17,196.0609 (141.18) 1,172.0131 (581.40) 13;0 56.9469 (0.01) 58 1 benchmark_hgetall[aredis[hi]--------uvloop--32768] 16,974.2117 (146.78) 23,457.8247 (98.04) 19,044.7487 (154.16) 1,138.9807 (169.87) 18,939.2627 (155.50) 1,149.0886 (570.03) 17;2 52.5079 (0.01) 58 1 benchmark_hgetall[aioredis[hi]------uvloop--32768] 17,101.5700 (147.88) 21,614.4146 (90.33) 19,034.3002 (154.08) 1,127.0315 (168.09) 18,799.7802 (154.35) 1,588.3842 (787.95) 17;0 52.5367 (0.01) 56 1 benchmark_hgetall[asyncio_redis[hi]-asyncio-16384] 27,556.8399 (238.28) 30,778.8379 (128.63) 28,490.1747 (230.62) 626.1468 (93.39) 28,491.1119 (233.92) 614.0645 (304.62) 9;1 35.0998 (0.00) 33 1 benchmark_hgetall[asyncio_redis[hi]-uvloop--16384] 28,042.6182 (242.48) 34,354.4190 (143.57) 30,048.2693 (243.23) 1,500.5014 (223.79) 29,603.8762 (243.06) 1,739.2775 (862.80) 9;1 33.2798 (0.00) 33 1 benchmark_hgetall[aredis[py]--------uvloop---4096] 30,603.6239 (264.63) 34,842.2877 (145.61) 31,606.5022 (255.85) 946.2547 (141.13) 31,578.1238 (259.26) 1,022.8730 (507.42) 6;2 31.6391 (0.00) 28 1 benchmark_hgetall[aredis[py]--------asyncio--4096] 31,371.9939 (271.27) 36,049.5900 (150.66) 33,757.3889 (273.26) 1,207.7652 (180.13) 33,628.7315 (276.10) 1,427.6868 (708.23) 10;0 29.6231 (0.00) 30 1 benchmark_hgetall[aioredis[py]------asyncio--4096] 35,093.0598 (303.45) 39,162.2470 (163.67) 36,412.8945 (294.75) 1,352.2013 (201.67) 35,839.7369 (294.25) 2,422.7106 (>1000.0) 6;0 27.4628 (0.00) 27 1 benchmark_hgetall[aioredis[py]------uvloop---4096] 35,181.9471 (304.22) 38,754.8222 (161.96) 35,717.7942 (289.13) 676.0938 (100.84) 35,570.1626 (292.04) 299.7615 (148.70) 2;3 27.9972 (0.00) 26 1 benchmark_hgetall[asyncio_redis[hi]-asyncio-32768] 56,613.0038 (489.53) 65,042.9120 (271.83) 61,589.1359 (498.55) 2,302.1280 (343.35) 61,526.1481 (505.14) 3,095.8366 (>1000.0) 6;0 16.2366 (0.00) 16 1 benchmark_hgetall[asyncio_redis[hi]-uvloop--32768] 59,923.3969 (518.16) 64,751.0020 (270.61) 61,765.1199 (499.98) 1,338.5688 (199.64) 61,683.9891 (506.44) 1,846.0221 (915.75) 5;0 16.1904 (0.00) 17 1 benchmark_hgetall[asyncio_redis[py]-asyncio--4096] 65,752.3372 (568.56) 70,036.4592 (292.70) 68,132.5268 (551.52) 1,431.8613 (213.55) 68,304.6747 (560.80) 1,994.4663 (989.39) 5;0 14.6773 (0.00) 15 1 benchmark_hgetall[asyncio_redis[py]-uvloop---4096] 67,095.5940 (580.18) 73,475.7390 (307.07) 69,009.7403 (558.62) 1,614.9265 (240.86) 68,691.1307 (563.97) 1,140.6518 (565.84) 3;2 14.4907 (0.00) 15 1 benchmark_hgetall[aredis[py]--------asyncio-16384] 125,163.3489 (>1000.0) 138,285.3533 (577.92) 129,232.8481 (>1000.0) 4,458.8625 (665.01) 127,534.3536 (>1000.0) 5,372.2349 (>1000.0) 1;0 7.7380 (0.00) 8 1 benchmark_hgetall[aredis[py]--------uvloop--16384] 125,293.8700 (>1000.0) 133,733.9040 (558.90) 126,941.6726 (>1000.0) 2,767.4680 (412.75) 126,067.3238 (>1000.0) 525.0424 (260.46) 1;1 7.8776 (0.00) 8 1 benchmark_hgetall[aioredis[py]------uvloop--16384] 142,020.4802 (>1000.0) 145,960.0511 (610.00) 143,995.8315 (>1000.0) 1,400.7233 (208.91) 143,552.5129 (>1000.0) 2,105.9695 (>1000.0) 3;0 6.9446 (0.00) 7 1 benchmark_hgetall[aioredis[py]------asyncio-16384] 144,357.5704 (>1000.0) 152,354.6400 (636.72) 147,460.0225 (>1000.0) 2,976.3461 (443.90) 147,923.7601 (>1000.0) 4,284.5319 (>1000.0) 2;0 6.7815 (0.00) 7 1 benchmark_hgetall[aredis[py]--------uvloop--32768] 251,752.4050 (>1000.0) 266,523.5233 (>1000.0) 258,132.4591 (>1000.0) 5,542.5096 (826.63) 257,570.6700 (>1000.0) 7,112.7916 (>1000.0) 2;0 3.8740 (0.00) 5 1 benchmark_hgetall[aredis[py]--------asyncio-32768] 252,890.2143 (>1000.0) 259,706.7701 (>1000.0) 255,522.3157 (>1000.0) 2,896.1274 (431.94) 254,278.5062 (>1000.0) 4,612.3482 (>1000.0) 1;0 3.9136 (0.00) 5 1 benchmark_hgetall[asyncio_redis[py]-uvloop--16384] 277,414.9240 (>1000.0) 284,980.3129 (>1000.0) 280,661.7287 (>1000.0) 2,867.5453 (427.68) 280,157.4091 (>1000.0) 3,813.4584 (>1000.0) 2;0 3.5630 (0.00) 5 1 benchmark_hgetall[asyncio_redis[py]-asyncio-16384] 282,715.1990 (>1000.0) 317,560.1033 (>1000.0) 292,305.9243 (>1000.0) 14,247.7901 (>1000.0) 286,921.8979 (>1000.0) 9,399.8165 (>1000.0) 1;1 3.4211 (0.00) 5 1 benchmark_hgetall[aioredis[py]------asyncio-32768] 285,170.9821 (>1000.0) 292,645.5173 (>1000.0) 289,658.1792 (>1000.0) 2,976.5864 (443.94) 290,818.2438 (>1000.0) 4,235.0378 (>1000.0) 2;0 3.4523 (0.00) 5 1 benchmark_hgetall[aioredis[py]------uvloop--32768] 287,202.2986 (>1000.0) 291,333.6791 (>1000.0) 289,577.8541 (>1000.0) 1,498.5230 (223.50) 289,659.0559 (>1000.0) 1,375.7177 (682.45) 2;0 3.4533 (0.00) 5 1 benchmark_hgetall[asyncio_redis[py]-uvloop--32768] 555,259.8550 (>1000.0) 571,602.6123 (>1000.0) 563,178.3078 (>1000.0) 6,939.4390 (>1000.0) 562,463.9629 (>1000.0) 12,192.6605 (>1000.0) 2;0 1.7756 (0.00) 5 1 benchmark_hgetall[asyncio_redis[py]-asyncio-32768] 576,623.1501 (>1000.0) 656,186.1360 (>1000.0) 599,440.7456 (>1000.0) 32,385.0397 (>1000.0) 585,325.9531 (>1000.0) 28,036.1954 (>1000.0) 1;1 1.6682 (0.00) 5 1

------------------------------------------------------------------------------------------------- benchmark 'redispy-hgetall': 12 tests ------------------------------------------------------------------------------------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations

benchmark_hgetall[redis-py[hi]----10] 65.0911 (1.0) 4,391.3550 (2.99) 80.9395 (1.0) 65.9296 (1.79) 72.5139 (1.0) 11.4432 (1.0) 61;619 12,354.9136 (1.0) 5474 1 benchmark_hgetall[redis-py[hi]---256] 132.6557 (2.04) 1,470.4480 (1.0) 178.3023 (2.20) 36.9341 (1.0) 166.8101 (2.30) 29.3124 (2.56) 647;310 5,608.4516 (0.45) 4114 1 benchmark_hgetall[redis-py[py]----10] 144.6982 (2.22) 7,138.6639 (4.85) 177.3277 (2.19) 110.8708 (3.00) 167.4891 (2.31) 35.0665 (3.06) 16;186 5,639.2769 (0.46) 4235 1 benchmark_hgetall[redis-py[hi]--1024] 392.6503 (6.03) 2,458.1971 (1.67) 596.2388 (7.37) 86.5302 (2.34) 603.8342 (8.33) 50.6162 (4.42) 301;260 1,677.1803 (0.14) 1828 1 benchmark_hgetall[redis-py[hi]--4096] 1,522.4172 (23.39) 4,356.7242 (2.96) 2,188.4795 (27.04) 249.3025 (6.75) 2,274.0832 (31.36) 196.0960 (17.14) 92;44 456.9383 (0.04) 486 1 benchmark_hgetall[redis-py[py]---256] 1,875.0872 (28.81) 5,858.5508 (3.98) 2,106.0213 (26.02) 247.6241 (6.70) 2,055.8541 (28.35) 237.2670 (20.73) 56;13 474.8290 (0.04) 493 1 benchmark_hgetall[redis-py[hi]-16384] 6,957.1240 (106.88) 10,953.1572 (7.45) 8,413.5177 (103.95) 625.0852 (16.92) 8,418.5835 (116.10) 718.4159 (62.78) 34;2 118.8563 (0.01) 128 1 benchmark_hgetall[redis-py[py]--1024] 7,284.4909 (111.91) 9,383.5942 (6.38) 7,887.7270 (97.45) 356.1870 (9.64) 7,800.2429 (107.57) 459.1709 (40.13) 33;3 126.7792 (0.01) 127 1 benchmark_hgetall[redis-py[hi]-32768] 13,747.6698 (211.21) 21,096.2417 (14.35) 17,167.4485 (212.10) 1,338.9544 (36.25) 17,458.8040 (240.76) 1,756.5973 (153.51) 17;1 58.2498 (0.00) 68 1 benchmark_hgetall[redis-py[py]--4096] 29,012.1138 (445.72) 36,242.3779 (24.65) 31,243.1669 (386.01) 1,971.2059 (53.37) 31,290.5479 (431.51) 3,337.3325 (291.64) 13;0 32.0070 (0.00) 34 1 benchmark_hgetall[redis-py[py]-16384] 122,362.6840 (>1000.0) 130,185.6251 (88.53) 124,573.5394 (>1000.0) 2,574.8576 (69.71) 123,724.1011 (>1000.0) 3,070.7542 (268.35) 1;0 8.0274 (0.00) 9 1 benchmark_hgetall[redis-py[py]-32768] 236,682.6888 (>1000.0) 240,758.0731 (163.73) 238,582.3738 (>1000.0) 1,986.9232 (53.80) 237,780.5184 (>1000.0) 3,757.6832 (328.38) 2;0 4.1914 (0.00) 5 1

Sync/async zrange

.. code::

---------------------------------------------------------------------------------------------------------- benchmark 'async-zrange': 72 tests --------------------------------------------------------------------------------------------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations

benchmark_zrange[aredis[hi]--------uvloop-----10] 90.4864 (1.0) 595.8681 (1.0) 100.6845 (1.0) 16.0103 (1.0) 96.0280 (1.0) 5.7332 (1.0) 697;869 9,932.0151 (1.0) 7062 1 benchmark_zrange[aioredis[hi]------uvloop-----10] 102.1991 (1.13) 2,972.2471 (4.99) 126.6727 (1.26) 60.8666 (3.80) 113.0342 (1.18) 27.8979 (4.87) 219;297 7,894.3631 (0.79) 6707 1 benchmark_zrange[aredis[hi]--------asyncio----10] 104.6150 (1.16) 1,480.7871 (2.49) 123.1885 (1.22) 30.6492 (1.91) 112.4148 (1.17) 21.0417 (3.67) 623;444 8,117.6388 (0.82) 5461 1 benchmark_zrange[aioredis[hi]------asyncio----10] 114.3031 (1.26) 1,827.7681 (3.07) 124.4745 (1.24) 31.4465 (1.96) 119.2521 (1.24) 6.7302 (1.17) 198;732 8,033.7742 (0.81) 5330 1 benchmark_zrange[asyncio_redis[hi]-uvloop-----10] 135.5810 (1.50) 3,274.2247 (5.49) 165.7802 (1.65) 63.9528 (3.99) 155.2820 (1.62) 32.3523 (5.64) 151;185 6,032.0827 (0.61) 4136 1 benchmark_zrange[asyncio_redis[hi]-asyncio----10] 164.0553 (1.81) 3,756.3113 (6.30) 198.2910 (1.97) 94.7747 (5.92) 185.7542 (1.93) 35.3379 (6.16) 75;162 5,043.0923 (0.51) 3793 1 benchmark_zrange[aredis[py]--------uvloop-----10] 169.7293 (1.88) 1,772.6272 (2.97) 203.9542 (2.03) 42.6883 (2.67) 196.7470 (2.05) 32.0280 (5.59) 441;273 4,903.0614 (0.49) 4537 1 benchmark_zrange[aredis[py]--------asyncio----10] 184.0121 (2.03) 3,186.2468 (5.35) 213.6547 (2.12) 65.9074 (4.12) 204.7932 (2.13) 35.0679 (6.12) 158;175 4,680.4500 (0.47) 4237 1 benchmark_zrange[aioredis[py]------uvloop-----10] 200.9664 (2.22) 1,279.4230 (2.15) 230.6834 (2.29) 44.4469 (2.78) 219.2832 (2.28) 30.2140 (5.27) 320;269 4,334.9449 (0.44) 3918 1 benchmark_zrange[aioredis[py]------asyncio----10] 219.7470 (2.43) 1,235.0231 (2.07) 250.3082 (2.49) 38.4759 (2.40) 244.3930 (2.55) 24.1057 (4.20) 294;279 3,995.0744 (0.40) 3601 1 benchmark_zrange[aredis[hi]--------uvloop----256] 285.9831 (3.16) 3,750.3894 (6.29) 460.6172 (4.57) 107.1459 (6.69) 457.8368 (4.77) 39.7320 (6.93) 90;180 2,171.0000 (0.22) 2391 1 benchmark_zrange[asyncio_redis[py]-uvloop-----10] 305.4570 (3.38) 2,339.6080 (3.93) 358.1829 (3.56) 76.5628 (4.78) 344.5011 (3.59) 41.7028 (7.27) 208;246 2,791.8698 (0.28) 2760 1 benchmark_zrange[aredis[hi]--------asyncio---256] 314.3516 (3.47) 2,463.3501 (4.13) 455.4099 (4.52) 73.3694 (4.58) 453.2724 (4.72) 46.5212 (8.11) 299;183 2,195.8242 (0.22) 1800 1 benchmark_zrange[asyncio_redis[py]-asyncio----10] 346.6690 (3.83) 1,974.0690 (3.31) 401.5787 (3.99) 56.0966 (3.50) 386.0372 (4.02) 35.4308 (6.18) 212;196 2,490.1718 (0.25) 2164 1 benchmark_zrange[aioredis[hi]------asyncio---256] 541.8980 (5.99) 7,560.5740 (12.69) 629.1641 (6.25) 197.9416 (12.36) 600.2921 (6.25) 50.9028 (8.88) 48;141 1,589.4105 (0.16) 1430 1 benchmark_zrange[aioredis[hi]------uvloop----256] 553.0338 (6.11) 3,951.9360 (6.63) 666.9030 (6.62) 101.4584 (6.34) 663.3676 (6.91) 49.9138 (8.71) 72;81 1,499.4685 (0.15) 1552 1 benchmark_zrange[asyncio_redis[hi]-uvloop----256] 633.4931 (7.00) 3,622.6013 (6.08) 765.9672 (7.61) 120.3991 (7.52) 739.7742 (7.70) 75.4273 (13.16) 129;111 1,305.5389 (0.13) 1292 1 benchmark_zrange[asyncio_redis[hi]-asyncio---256] 653.2492 (7.22) 6,554.2972 (11.00) 760.4737 (7.55) 199.7900 (12.48) 728.0209 (7.58) 69.9364 (12.20) 47;104 1,314.9699 (0.13) 1373 1 benchmark_zrange[aredis[hi]--------uvloop---1024] 957.0811 (10.58) 3,710.1931 (6.23) 1,310.7785 (13.02) 148.0676 (9.25) 1,336.7012 (13.92) 110.3590 (19.25) 230;124 762.9054 (0.08) 1015 1 benchmark_zrange[aredis[hi]--------asyncio--1024] 968.6602 (10.71) 2,426.1130 (4.07) 1,235.1621 (12.27) 181.1098 (11.31) 1,204.8772 (12.55) 307.0510 (53.56) 266;2 809.6103 (0.08) 705 1 benchmark_zrange[aioredis[hi]------asyncio--1024] 1,959.2862 (21.65) 4,580.4428 (7.69) 2,256.5754 (22.41) 203.2980 (12.70) 2,212.7803 (23.04) 147.0535 (25.65) 81;34 443.1494 (0.04) 462 1 benchmark_zrange[aioredis[hi]------uvloop---1024] 2,005.4257 (22.16) 7,418.8821 (12.45) 2,278.9871 (22.63) 338.4694 (21.14) 2,243.1414 (23.36) 122.8913 (21.43) 23;35 438.7914 (0.04) 476 1 benchmark_zrange[aredis[py]--------uvloop----256] 2,097.3189 (23.18) 5,386.7353 (9.04) 2,314.6382 (22.99) 312.7210 (19.53) 2,197.1217 (22.88) 202.6722 (35.35) 32;27 432.0330 (0.04) 351 1 benchmark_zrange[aredis[py]--------asyncio---256] 2,148.8350 (23.75) 3,775.1202 (6.34) 2,344.3133 (23.28) 213.1822 (13.32) 2,246.3328 (23.39) 261.9020 (45.68) 80;13 426.5641 (0.04) 455 1 benchmark_zrange[asyncio_redis[hi]-asyncio--1024] 2,224.3243 (24.58) 3,629.6220 (6.09) 2,399.4339 (23.83) 153.8240 (9.61) 2,361.6378 (24.59) 62.4787 (10.90) 47;57 416.7650 (0.04) 410 1 benchmark_zrange[asyncio_redis[hi]-uvloop---1024] 2,252.0856 (24.89) 6,413.2558 (10.76) 2,452.1444 (24.35) 260.1042 (16.25) 2,401.0860 (25.00) 84.4486 (14.73) 24;35 407.8063 (0.04) 360 1 benchmark_zrange[aioredis[py]------uvloop----256] 2,650.9943 (29.30) 4,923.4140 (8.26) 2,935.0888 (29.15) 247.5008 (15.46) 2,868.6288 (29.87) 341.6357 (59.59) 68;4 340.7052 (0.03) 352 1 benchmark_zrange[aioredis[py]------asyncio---256] 2,676.1838 (29.58) 10,921.5197 (18.33) 2,971.0259 (29.51) 510.4002 (31.88) 2,883.0948 (30.02) 240.6156 (41.97) 11;13 336.5841 (0.03) 321 1 benchmark_zrange[aredis[hi]--------uvloop---4096] 3,929.4418 (43.43) 6,494.6371 (10.90) 4,942.0757 (49.08) 421.1151 (26.30) 4,957.5670 (51.63) 474.4115 (82.75) 62;7 202.3441 (0.02) 218 1 benchmark_zrange[aredis[hi]--------asyncio--4096] 3,990.9743 (44.11) 8,108.5772 (13.61) 4,833.1177 (48.00) 628.6157 (39.26) 4,767.0109 (49.64) 813.7660 (141.94) 52;5 206.9058 (0.02) 197 1 benchmark_zrange[asyncio_redis[py]-uvloop----256] 4,383.8369 (48.45) 5,656.7187 (9.49) 4,849.0253 (48.16) 292.8862 (18.29) 4,854.5483 (50.55) 423.9040 (73.94) 79;0 206.2270 (0.02) 201 1 benchmark_zrange[asyncio_redis[py]-asyncio---256] 4,412.4420 (48.76) 5,781.4824 (9.70) 4,775.7292 (47.43) 326.1724 (20.37) 4,682.5400 (48.76) 464.6444 (81.04) 65;3 209.3921 (0.02) 221 1 benchmark_zrange[aioredis[hi]------uvloop---4096] 8,246.2467 (91.13) 12,763.9170 (21.42) 9,611.6413 (95.46) 667.5038 (41.69) 9,461.7461 (98.53) 708.8882 (123.65) 24;4 104.0405 (0.01) 109 1 benchmark_zrange[aredis[py]--------uvloop---1024] 8,308.7957 (91.82) 11,497.4761 (19.30) 9,123.1260 (90.61) 551.8492 (34.47) 9,045.4407 (94.20) 648.8478 (113.17) 30;4 109.6116 (0.01) 112 1 benchmark_zrange[aredis[py]--------asyncio--1024] 8,330.1677 (92.06) 14,313.4352 (24.02) 8,806.8375 (87.47) 669.1888 (41.80) 8,654.0615 (90.12) 310.3595 (54.13) 6;10 113.5481 (0.01) 106 1 benchmark_zrange[aioredis[hi]------asyncio--4096] 8,354.8212 (92.33) 10,366.5232 (17.40) 9,101.2705 (90.39) 462.1609 (28.87) 9,069.2150 (94.44) 793.9986 (138.49) 26;0 109.8748 (0.01) 91 1 benchmark_zrange[asyncio_redis[hi]-asyncio--4096] 8,468.5162 (93.59) 16,497.4150 (27.69) 9,280.2423 (92.17) 800.3887 (49.99) 9,076.3904 (94.52) 672.9099 (117.37) 4;1 107.7558 (0.01) 114 1 benchmark_zrange[asyncio_redis[hi]-uvloop---4096] 8,532.8124 (94.30) 12,677.0800 (21.27) 9,373.7046 (93.10) 571.8367 (35.72) 9,279.6800 (96.64) 672.0453 (117.22) 27;3 106.6814 (0.01) 117 1 benchmark_zrange[aioredis[py]------asyncio--1024] 10,403.3099 (114.97) 13,460.0978 (22.59) 11,000.0565 (109.25) 590.2844 (36.87) 10,750.7356 (111.95) 729.3788 (127.22) 15;2 90.9086 (0.01) 89 1 benchmark_zrange[aioredis[py]------uvloop---1024] 10,654.8830 (117.75) 16,464.2571 (27.63) 11,452.6210 (113.75) 712.2941 (44.49) 11,299.5256 (117.67) 669.3604 (116.75) 13;2 87.3163 (0.01) 92 1 benchmark_zrange[aredis[hi]--------uvloop--16384] 16,653.1587 (184.04) 21,159.6559 (35.51) 18,558.2901 (184.32) 947.6641 (59.19) 18,571.2660 (193.39) 1,421.7043 (247.98) 18;0 53.8843 (0.01) 55 1 benchmark_zrange[aredis[hi]--------asyncio-16384] 16,865.1049 (186.38) 24,799.4680 (41.62) 18,831.2658 (187.03) 1,313.2193 (82.02) 18,568.6441 (193.37) 1,483.6583 (258.78) 9;1 53.1032 (0.01) 52 1 benchmark_zrange[asyncio_redis[py]-asyncio--1024] 16,998.5001 (187.86) 25,654.5879 (43.05) 17,469.6020 (173.51) 1,145.4825 (71.55) 17,216.6962 (179.29) 294.4390 (51.36) 2;7 57.2423 (0.01) 58 1 benchmark_zrange[asyncio_redis[py]-uvloop---1024] 17,256.8131 (190.71) 21,272.8912 (35.70) 18,452.0462 (183.27) 635.9303 (39.72) 18,324.6639 (190.83) 558.7485 (97.46) 10;4 54.1945 (0.01) 53 1 benchmark_zrange[aredis[hi]--------asyncio-32768] 32,176.5761 (355.60) 36,810.2011 (61.78) 34,085.8606 (338.54) 1,172.4961 (73.23) 33,996.2288 (354.02) 1,655.6478 (288.78) 9;0 29.3377 (0.00) 28 1 benchmark_zrange[aredis[hi]--------uvloop--32768] 32,533.2140 (359.54) 78,600.6888 (131.91) 36,406.1513 (361.59) 8,497.0188 (530.72) 34,454.0481 (358.79) 2,188.3745 (381.70) 1;3 27.4679 (0.00) 28 1 benchmark_zrange[aioredis[hi]------uvloop--16384] 32,939.4499 (364.03) 38,356.7861 (64.37) 35,327.7257 (350.88) 1,306.7354 (81.62) 35,425.3259 (368.91) 1,432.6968 (249.89) 10;1 28.3064 (0.00) 29 1 benchmark_zrange[aredis[py]--------uvloop---4096] 32,943.5021 (364.07) 38,142.5712 (64.01) 34,719.3029 (344.83) 1,264.5776 (78.99) 34,508.0770 (359.35) 1,864.8510 (325.27) 7;0 28.8024 (0.00) 25 1 benchmark_zrange[aioredis[hi]------asyncio-16384] 33,086.2878 (365.65) 38,354.3130 (64.37) 35,011.0786 (347.73) 1,443.0010 (90.13) 35,055.5060 (365.06) 2,089.4586 (364.45) 13;0 28.5624 (0.00) 29 1 benchmark_zrange[aredis[py]--------asyncio--4096] 33,102.5859 (365.83) 37,227.4462 (62.48) 34,374.3456 (341.41) 991.6338 (61.94) 34,186.6734 (356.01) 1,152.0092 (200.94) 7;1 29.0915 (0.00) 29 1 benchmark_zrange[asyncio_redis[hi]-asyncio-16384] 33,205.8221 (366.97) 39,536.7942 (66.35) 35,824.2271 (355.81) 1,809.5366 (113.02) 36,185.1100 (376.82) 3,026.2567 (527.85) 11;0 27.9141 (0.00) 27 1 benchmark_zrange[asyncio_redis[hi]-uvloop--16384] 33,352.7368 (368.59) 38,899.1940 (65.28) 36,009.7186 (357.65) 1,494.7184 (93.36) 35,739.6880 (372.18) 1,853.3666 (323.27) 11;0 27.7703 (0.00) 28 1 benchmark_zrange[aioredis[py]------uvloop---4096] 42,014.8508 (464.32) 46,541.4962 (78.11) 43,707.2377 (434.10) 1,181.6039 (73.80) 43,530.4809 (453.31) 1,613.2900 (281.39) 6;0 22.8795 (0.00) 24 1 benchmark_zrange[aioredis[py]------asyncio--4096] 42,400.3769 (468.58) 46,548.9919 (78.12) 43,867.4572 (435.69) 995.5630 (62.18) 43,568.1860 (453.70) 1,046.5465 (182.54) 7;1 22.7959 (0.00) 24 1 benchmark_zrange[aioredis[hi]------asyncio-32768] 65,147.9643 (719.98) 72,368.1310 (121.45) 68,334.6877 (678.70) 1,767.0666 (110.37) 68,439.5558 (712.70) 1,580.4968 (275.67) 4;2 14.6339 (0.00) 15 1 benchmark_zrange[aioredis[hi]------uvloop--32768] 65,461.8288 (723.44) 74,687.5680 (125.34) 68,369.5547 (679.05) 2,176.8695 (135.97) 68,411.0941 (712.41) 2,251.8840 (392.78) 4;1 14.6264 (0.00) 15 1 benchmark_zrange[asyncio_redis[hi]-uvloop--32768] 66,596.4610 (735.98) 70,642.9239 (118.55) 68,982.7251 (685.14) 1,218.5166 (76.11) 69,287.1809 (721.53) 1,729.8538 (301.72) 4;0 14.4964 (0.00) 15 1 benchmark_zrange[asyncio_redis[hi]-asyncio-32768] 66,686.2172 (736.98) 70,841.8102 (118.89) 68,135.9287 (676.73) 1,296.9354 (81.01) 67,762.9379 (705.66) 2,034.9185 (354.93) 6;0 14.6765 (0.00) 15 1 benchmark_zrange[asyncio_redis[py]-uvloop---4096] 67,477.8456 (745.72) 69,722.8578 (117.01) 68,453.6117 (679.88) 581.2831 (36.31) 68,519.6617 (713.54) 729.4096 (127.23) 4;0 14.6084 (0.00) 15 1 benchmark_zrange[asyncio_redis[py]-asyncio--4096] 68,901.2180 (761.45) 74,569.8870 (125.14) 71,660.7761 (711.74) 1,569.5407 (98.03) 71,593.7819 (745.55) 2,163.6941 (377.40) 4;0 13.9546 (0.00) 15 1 benchmark_zrange[aredis[py]--------uvloop--16384] 133,797.6842 (>1000.0) 141,006.4031 (236.64) 137,116.9799 (>1000.0) 2,936.3422 (183.40) 137,700.1349 (>1000.0) 5,390.9346 (940.30) 3;0 7.2930 (0.00) 7 1 benchmark_zrange[aredis[py]--------asyncio-16384] 136,460.8910 (>1000.0) 143,185.0898 (240.30) 139,869.3108 (>1000.0) 2,403.3568 (150.11) 139,810.1095 (>1000.0) 4,115.7464 (717.88) 2;0 7.1495 (0.00) 8 1 benchmark_zrange[aioredis[py]------uvloop--16384] 167,275.0199 (>1000.0) 175,822.2310 (295.07) 170,980.3998 (>1000.0) 3,586.2096 (223.99) 170,428.1066 (>1000.0) 5,917.7326 (>1000.0) 2;0 5.8486 (0.00) 6 1 benchmark_zrange[aioredis[py]------asyncio-16384] 167,839.7837 (>1000.0) 178,991.2283 (300.39) 172,697.7530 (>1000.0) 3,575.9996 (223.36) 172,365.9844 (>1000.0) 529.0327 (92.27) 2;2 5.7905 (0.00) 6 1 benchmark_zrange[asyncio_redis[py]-asyncio-16384] 266,317.8747 (>1000.0) 322,713.2559 (541.59) 296,063.1677 (>1000.0) 26,396.7041 (>1000.0) 310,799.1493 (>1000.0) 46,046.2272 (>1000.0) 3;0 3.3777 (0.00) 5 1 benchmark_zrange[aredis[py]--------uvloop--32768] 266,508.3371 (>1000.0) 272,820.5570 (457.85) 270,910.5288 (>1000.0) 2,593.1151 (161.97) 272,217.5824 (>1000.0) 2,859.1517 (498.70) 1;0 3.6913 (0.00) 5 1 benchmark_zrange[aredis[py]--------asyncio-32768] 269,644.0150 (>1000.0) 274,331.0858 (460.39) 272,042.0865 (>1000.0) 1,962.3258 (122.57) 271,628.9931 (>1000.0) 3,320.9202 (579.24) 2;0 3.6759 (0.00) 5 1 benchmark_zrange[asyncio_redis[py]-uvloop--16384] 288,986.3360 (>1000.0) 296,067.1023 (496.87) 291,615.0506 (>1000.0) 2,705.3927 (168.98) 290,784.8181 (>1000.0) 3,008.6132 (524.77) 1;0 3.4292 (0.00) 5 1 benchmark_zrange[aioredis[py]------uvloop--32768] 333,868.3518 (>1000.0) 342,058.2218 (574.05) 339,314.3663 (>1000.0) 3,331.7808 (208.10) 339,572.9670 (>1000.0) 4,211.5450 (734.59) 1;0 2.9471 (0.00) 5 1 benchmark_zrange[aioredis[py]------asyncio-32768] 339,368.8942 (>1000.0) 345,172.0509 (579.28) 343,208.5218 (>1000.0) 2,234.3563 (139.56) 343,939.1539 (>1000.0) 1,902.4553 (331.83) 1;1 2.9137 (0.00) 5 1 benchmark_zrange[asyncio_redis[py]-asyncio-32768] 506,666.5662 (>1000.0) 680,515.5370 (>1000.0) 577,027.1485 (>1000.0) 90,904.9915 (>1000.0) 512,768.1401 (>1000.0) 163,371.3449 (>1000.0) 2;0 1.7330 (0.00) 5 1 benchmark_zrange[asyncio_redis[py]-uvloop--32768] 577,097.6190 (>1000.0) 591,759.8340 (993.11) 582,330.2313 (>1000.0) 5,542.3674 (346.18) 580,725.2889 (>1000.0) 4,513.0948 (787.18) 1;1 1.7172 (0.00) 5 1

------------------------------------------------------------------------------------------------- benchmark 'redispy-zrange': 12 tests ------------------------------------------------------------------------------------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations

benchmark_zrange[redis-py[hi]----10] 45.6218 (1.0) 2,524.6502 (1.61) 52.7837 (1.0) 27.1736 (1.0) 49.0509 (1.0) 3.9204 (1.0) 185;1576 18,945.2352 (1.0) 9557 1 benchmark_zrange[redis-py[py]----10] 117.9869 (2.59) 1,568.1246 (1.0) 138.3971 (2.62) 29.7993 (1.10) 128.3113 (2.62) 27.7164 (7.07) 588;220 7,225.5870 (0.38) 6044 1 benchmark_zrange[redis-py[hi]---256] 231.3256 (5.07) 1,929.0922 (1.23) 389.8075 (7.38) 63.2232 (2.33) 400.0410 (8.16) 49.8316 (12.71) 644;338 2,565.3685 (0.14) 3048 1 benchmark_zrange[redis-py[hi]--1024] 894.6513 (19.61) 1,590.9392 (1.01) 1,182.9994 (22.41) 101.2588 (3.73) 1,194.0980 (24.34) 76.1140 (19.41) 163;113 845.3090 (0.04) 745 1 benchmark_zrange[redis-py[py]---256] 1,942.3929 (42.58) 3,791.0203 (2.42) 2,108.7138 (39.95) 178.4940 (6.57) 2,034.7759 (41.48) 161.1713 (41.11) 67;39 474.2227 (0.03) 481 1 benchmark_zrange[redis-py[hi]--4096] 3,998.3150 (87.64) 10,966.4211 (6.99) 4,696.4423 (88.98) 528.1502 (19.44) 4,664.9673 (95.10) 284.2676 (72.51) 5;5 212.9271 (0.01) 180 1 benchmark_zrange[redis-py[py]--1024] 7,724.1827 (169.31) 11,632.8732 (7.42) 8,067.3800 (152.84) 434.7313 (16.00) 7,933.4781 (161.74) 216.7281 (55.28) 11;13 123.9560 (0.01) 124 1 benchmark_zrange[redis-py[hi]-16384] 15,986.7951 (350.42) 21,275.1604 (13.57) 18,309.1743 (346.87) 1,202.5680 (44.25) 18,563.8976 (378.46) 1,704.3520 (434.74) 17;0 54.6174 (0.00) 54 1 benchmark_zrange[redis-py[hi]-32768] 31,389.1508 (688.03) 40,292.0749 (25.69) 34,556.3188 (654.68) 2,085.2240 (76.74) 34,997.0548 (713.48) 3,714.1535 (947.39) 10;0 28.9383 (0.00) 30 1 benchmark_zrange[redis-py[py]--4096] 31,793.1972 (696.89) 34,771.7893 (22.17) 33,151.9127 (628.07) 794.2448 (29.23) 33,062.2480 (674.04) 1,217.2428 (310.49) 12;0 30.1642 (0.00) 30 1 benchmark_zrange[redis-py[py]-16384] 126,488.0700 (>1000.0) 136,179.8416 (86.84) 131,348.0469 (>1000.0) 4,149.4206 (152.70) 131,874.8908 (>1000.0) 8,014.1267 (>1000.0) 3;0 7.6134 (0.00) 8 1 benchmark_zrange[redis-py[py]-32768] 254,941.0639 (>1000.0) 263,933.7089 (168.31) 259,318.4439 (>1000.0) 3,265.5394 (120.17) 258,769.3688 (>1000.0) 3,688.0681 (940.74) 2;0 3.8563 (0.00) 5 1

Sync/async lrange

.. code::

--------------------------------------------------------------------------------------------------------- benchmark 'async-lrange': 84 tests --------------------------------------------------------------------------------------------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations

benchmark_lrange[redis-py[hi]----10] 212.8221 (1.0) 465.2888 (1.0) 243.8746 (1.0) 28.8139 (1.0) 236.5150 (1.0) 26.1528 (2.49) 231;138 4,100.4678 (1.0) 1843 1 benchmark_lrange[redis-py[hi]---256] 227.0630 (1.07) 3,322.0667 (7.14) 312.5395 (1.28) 72.5967 (2.52) 304.4610 (1.29) 37.6825 (3.58) 266;233 3,199.5958 (0.78) 2669 1 benchmark_lrange[aioredis[hi]------uvloop----256] 283.8029 (1.33) 3,750.3499 (8.06) 407.8288 (1.67) 133.0857 (4.62) 419.2730 (1.77) 82.7982 (7.87) 68;54 2,452.0095 (0.60) 2633 1 benchmark_lrange[aioredis[hi]------asyncio---256] 295.1021 (1.39) 2,108.8920 (4.53) 428.2541 (1.76) 65.5799 (2.28) 422.2980 (1.79) 46.7265 (4.44) 541;248 2,335.0624 (0.57) 2763 1 benchmark_lrange[aioredis[hi]------asyncio----10] 303.2517 (1.42) 1,474.0601 (3.17) 378.7883 (1.55) 79.4885 (2.76) 352.3449 (1.49) 52.9868 (5.04) 177;150 2,639.9974 (0.64) 1937 1 benchmark_lrange[aioredis[hi]------uvloop-----10] 306.1551 (1.44) 3,055.8351 (6.57) 338.6754 (1.39) 78.0910 (2.71) 328.8758 (1.39) 19.3287 (1.84) 57;184 2,952.6797 (0.72) 2432 1 benchmark_lrange[aredis[hi]--------uvloop----256] 360.2612 (1.69) 2,819.2438 (6.06) 515.3371 (2.11) 87.5477 (3.04) 503.7179 (2.13) 81.1382 (7.71) 270;35 1,940.4774 (0.47) 1827 1 benchmark_lrange[aredis[hi]--------asyncio---256] 362.0191 (1.70) 3,955.1556 (8.50) 470.1037 (1.93) 85.7474 (2.98) 462.2440 (1.95) 25.2209 (2.40) 109;258 2,127.1903 (0.52) 2172 1 benchmark_lrange[asyncio_redis[hi]-uvloop-----10] 380.9179 (1.79) 2,510.8540 (5.40) 420.9522 (1.73) 58.3636 (2.03) 415.3952 (1.76) 12.9207 (1.23) 54;125 2,375.5668 (0.58) 1620 1 benchmark_lrange[asyncio_redis[hi]-asyncio----10] 404.5232 (1.90) 2,217.3091 (4.77) 506.7493 (2.08) 154.6835 (5.37) 447.3110 (1.89) 96.0538 (9.13) 151;146 1,973.3622 (0.48) 1298 1 benchmark_lrange[aredis[hi]--------uvloop-----10] 410.6732 (1.93) 3,840.3501 (8.25) 457.8896 (1.88) 114.6967 (3.98) 448.4816 (1.90) 19.4153 (1.85) 20;99 2,183.9327 (0.53) 1490 1 benchmark_lrange[asyncio_redis[py]-uvloop-----10] 450.1911 (2.12) 2,916.7430 (6.27) 1,140.5345 (4.68) 211.6561 (7.35) 1,071.8855 (4.53) 190.1065 (18.08) 93;50 876.7819 (0.21) 768 1 benchmark_lrange[aredis[hi]--------asyncio----10] 469.3731 (2.21) 2,035.6588 (4.38) 508.1854 (2.08) 62.5699 (2.17) 493.4659 (2.09) 20.8255 (1.98) 75;124 1,967.7859 (0.48) 1619 1 benchmark_lrange[redis-py[hi]--1024] 519.3609 (2.44) 2,672.4096 (5.74) 674.3783 (2.77) 97.5106 (3.38) 660.7864 (2.79) 78.0479 (7.42) 142;36 1,482.8473 (0.36) 1176 1 benchmark_lrange[redis-py[py]----10] 526.2024 (2.47) 861.5488 (1.85) 575.6782 (2.36) 47.3123 (1.64) 559.2913 (2.36) 49.1377 (4.67) 137;66 1,737.0815 (0.42) 1028 1 benchmark_lrange[aioredis[hi]------uvloop---1024] 526.5540 (2.47) 3,454.2633 (7.42) 658.7520 (2.70) 140.8391 (4.89) 624.9365 (2.64) 106.9945 (10.17) 88;52 1,518.0220 (0.37) 1190 1 benchmark_lrange[aioredis[hi]------asyncio--1024] 543.1902 (2.55) 2,181.7670 (4.69) 649.5357 (2.66) 113.8935 (3.95) 606.4977 (2.56) 79.5526 (7.56) 171;132 1,539.5613 (0.38) 1537 1 benchmark_lrange[asyncio_redis[py]-asyncio----10] 582.7569 (2.74) 2,989.1091 (6.42) 1,208.5998 (4.96) 210.3253 (7.30) 1,141.6893 (4.83) 198.1438 (18.84) 187;72 827.4037 (0.20) 1036 1 benchmark_lrange[aredis[hi]--------uvloop---1024] 598.5079 (2.81) 5,588.5622 (12.01) 823.1618 (3.38) 139.2946 (4.83) 822.0021 (3.48) 68.8990 (6.55) 96;103 1,214.8280 (0.30) 1547 1 benchmark_lrange[aioredis[py]------uvloop-----10] 622.7070 (2.93) 1,536.7051 (3.30) 678.5271 (2.78) 75.6623 (2.63) 652.7635 (2.76) 45.1691 (4.29) 144;155 1,473.7806 (0.36) 1378 1 benchmark_lrange[aioredis[py]------asyncio----10] 639.9541 (3.01) 3,897.6092 (8.38) 712.8569 (2.92) 124.6337 (4.33) 674.3870 (2.85) 81.3367 (7.73) 109;87 1,402.8060 (0.34) 1221 1 benchmark_lrange[aredis[hi]--------asyncio--1024] 661.2567 (3.11) 1,963.3160 (4.22) 918.2704 (3.77) 104.1424 (3.61) 953.8038 (4.03) 112.5582 (10.70) 238;64 1,089.0039 (0.27) 1209 1 benchmark_lrange[aredis[py]--------uvloop-----10] 685.1018 (3.22) 2,946.5682 (6.33) 730.5412 (3.00) 73.4177 (2.55) 721.1901 (3.05) 22.8912 (2.18) 41;109 1,368.8482 (0.33) 1229 1 benchmark_lrange[aredis[py]--------asyncio----10] 762.2140 (3.58) 3,134.5501 (6.74) 810.9394 (3.33) 93.4435 (3.24) 800.2538 (3.38) 13.1974 (1.25) 30;145 1,233.1378 (0.30) 1107 1 benchmark_lrange[asyncio_redis[hi]-uvloop----256] 1,024.4744 (4.81) 1,801.8447 (3.87) 1,096.7522 (4.50) 88.6476 (3.08) 1,067.0377 (4.51) 38.5575 (3.67) 56;68 911.7830 (0.22) 800 1 benchmark_lrange[asyncio_redis[hi]-asyncio---256] 1,048.0103 (4.92) 3,023.4288 (6.50) 1,093.5871 (4.48) 74.1359 (2.57) 1,082.0378 (4.57) 13.1298 (1.25) 31;127 914.4219 (0.22) 890 1 benchmark_lrange[aioredis[hi]------uvloop---4096] 1,698.6448 (7.98) 4,620.9767 (9.93) 1,955.4770 (8.02) 146.3030 (5.08) 1,937.7628 (8.19) 76.5640 (7.28) 48;41 511.3842 (0.12) 569 1 benchmark_lrange[aioredis[hi]------asyncio--4096] 1,746.8077 (8.21) 2,440.5401 (5.25) 1,988.8039 (8.16) 80.2676 (2.79) 2,002.2197 (8.47) 13.3538 (1.27) 49;79 502.8148 (0.12) 418 1 benchmark_lrange[redis-py[hi]--4096] 1,753.2776 (8.24) 2,807.5264 (6.03) 2,034.6851 (8.34) 109.9738 (3.82) 2,031.5722 (8.59) 10.5175 (1.0) 37;88 491.4765 (0.12) 363 1 benchmark_lrange[aredis[hi]--------asyncio--4096] 1,800.6559 (8.46) 4,167.0180 (8.96) 2,216.3810 (9.09) 125.8584 (4.37) 2,202.2738 (9.31) 67.3439 (6.40) 39;36 451.1860 (0.11) 443 1 benchmark_lrange[aredis[hi]--------uvloop---4096] 1,804.1688 (8.48) 2,600.5507 (5.59) 2,036.5507 (8.35) 54.1267 (1.88) 2,037.1056 (8.61) 12.4826 (1.19) 58;95 491.0263 (0.12) 547 1 benchmark_lrange[asyncio_redis[hi]-asyncio--1024] 2,635.5041 (12.38) 8,254.9872 (17.74) 2,868.3588 (11.76) 445.3540 (15.46) 2,739.9911 (11.58) 122.8886 (11.68) 22;53 348.6314 (0.09) 349 1 benchmark_lrange[asyncio_redis[hi]-uvloop---1024] 2,646.2302 (12.43) 4,383.6427 (9.42) 2,841.6873 (11.65) 197.8879 (6.87) 2,765.1899 (11.69) 167.8318 (15.96) 48;34 351.9036 (0.09) 357 1 benchmark_lrange[redis-py[py]---256] 3,670.2622 (17.25) 6,246.0643 (13.42) 3,872.3246 (15.88) 293.9450 (10.20) 3,741.9542 (15.82) 187.5155 (17.83) 39;37 258.2428 (0.06) 264 1 benchmark_lrange[aredis[py]--------uvloop----256] 3,967.1757 (18.64) 5,120.3473 (11.00) 4,152.9560 (17.03) 210.0850 (7.29) 4,068.6030 (17.20) 131.9395 (12.54) 28;28 240.7923 (0.06) 206 1 benchmark_lrange[aredis[py]--------asyncio---256] 3,995.6938 (18.77) 5,767.7920 (12.40) 4,111.9526 (16.86) 157.0669 (5.45) 4,073.2343 (17.22) 56.6180 (5.38) 13;22 243.1935 (0.06) 243 1 benchmark_lrange[aioredis[py]------asyncio---256] 4,519.1781 (21.23) 6,731.7132 (14.47) 4,774.7784 (19.58) 298.4669 (10.36) 4,650.7185 (19.66) 348.4630 (33.13) 31;8 209.4338 (0.05) 216 1 benchmark_lrange[aioredis[py]------uvloop----256] 4,528.8564 (21.28) 6,839.6819 (14.70) 4,980.9172 (20.42) 420.8857 (14.61) 4,906.8248 (20.75) 575.0910 (54.68) 34;5 200.7662 (0.05) 161 1 benchmark_lrange[redis-py[hi]-16384] 6,286.0227 (29.54) 9,654.1536 (20.75) 6,942.6897 (28.47) 474.1008 (16.45) 6,869.0274 (29.04) 411.1656 (39.09) 18;6 144.0364 (0.04) 108 1 benchmark_lrange[aioredis[hi]------uvloop--16384] 6,463.5971 (30.37) 11,405.0312 (24.51) 7,250.0739 (29.73) 608.5962 (21.12) 7,183.1036 (30.37) 540.5173 (51.39) 28;5 137.9296 (0.03) 150 1 benchmark_lrange[aioredis[hi]------asyncio-16384] 6,547.5907 (30.77) 9,267.9001 (19.92) 7,274.1565 (29.83) 505.8030 (17.55) 7,235.5652 (30.59) 492.1248 (46.79) 40;11 137.4730 (0.03) 145 1 benchmark_lrange[aredis[hi]--------uvloop--16384] 6,692.4063 (31.45) 9,190.9207 (19.75) 7,457.3342 (30.58) 500.1956 (17.36) 7,468.0434 (31.58) 776.4266 (73.82) 47;1 134.0962 (0.03) 131 1 benchmark_lrange[aredis[hi]--------asyncio-16384] 6,832.7151 (32.11) 8,922.5890 (19.18) 7,575.8548 (31.06) 428.6228 (14.88) 7,639.4673 (32.30) 518.4818 (49.30) 43;5 131.9983 (0.03) 123 1 benchmark_lrange[asyncio_redis[py]-uvloop----256] 8,472.3472 (39.81) 10,906.9892 (23.44) 8,630.4661 (35.39) 253.1888 (8.79) 8,578.4360 (36.27) 90.3856 (8.59) 4;11 115.8686 (0.03) 116 1 benchmark_lrange[asyncio_redis[py]-asyncio---256] 8,605.6720 (40.44) 9,315.4311 (20.02) 8,847.7645 (36.28) 199.9058 (6.94) 8,734.4435 (36.93) 385.8812 (36.69) 37;0 113.0229 (0.03) 96 1 benchmark_lrange[asyncio_redis[hi]-uvloop---4096] 9,878.3742 (46.42) 12,754.4501 (27.41) 10,543.0852 (43.23) 597.1275 (20.72) 10,326.2006 (43.66) 902.2856 (85.79) 24;2 94.8489 (0.02) 92 1 benchmark_lrange[asyncio_redis[hi]-asyncio--4096] 10,118.3550 (47.54) 13,158.9901 (28.28) 10,711.4485 (43.92) 470.1709 (16.32) 10,632.9843 (44.96) 327.4741 (31.14) 12;6 93.3581 (0.02) 91 1 benchmark_lrange[redis-py[py]--1024] 10,737.6063 (50.45) 17,034.3253 (36.61) 11,597.4454 (47.55) 757.1400 (26.28) 11,579.8493 (48.96) 761.0709 (72.36) 6;1 86.2259 (0.02) 83 1 benchmark_lrange[redis-py[hi]-32768] 11,417.1454 (53.65) 12,787.4087 (27.48) 11,728.5347 (48.09) 224.7644 (7.80) 11,676.6009 (49.37) 222.8832 (21.19) 14;4 85.2621 (0.02) 66 1 benchmark_lrange[aredis[py]--------uvloop---1024] 11,567.3561 (54.35) 13,554.0189 (29.13) 11,803.2923 (48.40) 331.7359 (11.51) 11,703.5601 (49.48) 110.4625 (10.50) 5;8 84.7221 (0.02) 69 1 benchmark_lrange[aioredis[hi]------asyncio-32768] 11,590.2983 (54.46) 13,581.9442 (29.19) 11,765.9441 (48.25) 273.5226 (9.49) 11,677.2323 (49.37) 86.3536 (8.21) 3;10 84.9911 (0.02) 72 1 benchmark_lrange[aredis[py]--------asyncio--1024] 11,647.1588 (54.73) 17,437.3640 (37.48) 12,337.0738 (50.59) 957.3941 (33.23) 11,887.5213 (50.26) 787.3452 (74.86) 13;7 81.0565 (0.02) 82 1 benchmark_lrange[aioredis[hi]------uvloop--32768] 11,725.0108 (55.09) 15,379.4349 (33.05) 12,165.7237 (49.89) 504.9296 (17.52) 12,093.5757 (51.13) 380.2625 (36.16) 5;4 82.1982 (0.02) 80 1 benchmark_lrange[aredis[hi]--------uvloop--32768] 11,774.9581 (55.33) 14,866.4941 (31.95) 12,460.4971 (51.09) 526.7228 (18.28) 12,352.6289 (52.23) 702.4689 (66.79) 25;2 80.2536 (0.02) 80 1 benchmark_lrange[aredis[hi]--------asyncio-32768] 12,023.1798 (56.49) 15,499.7678 (33.31) 12,562.5122 (51.51) 509.3181 (17.68) 12,421.9675 (52.52) 322.9012 (30.70) 6;4 79.6019 (0.02) 70 1 benchmark_lrange[aioredis[py]------asyncio--1024] 13,226.6688 (62.15) 15,205.9533 (32.68) 13,871.5813 (56.88) 457.8189 (15.89) 13,743.9482 (58.11) 686.9556 (65.32) 22;1 72.0898 (0.02) 64 1 benchmark_lrange[aioredis[py]------uvloop---1024] 13,943.1320 (65.52) 36,962.3941 (79.44) 15,095.0392 (61.90) 2,698.7749 (93.66) 14,672.3441 (62.04) 507.4017 (48.24) 2;6 66.2469 (0.02) 71 1 benchmark_lrange[asyncio_redis[py]-uvloop---1024] 25,045.6678 (117.68) 29,924.3331 (64.31) 25,640.3399 (105.14) 797.8641 (27.69) 25,412.3891 (107.45) 444.4707 (42.26) 2;3 39.0010 (0.01) 39 1 benchmark_lrange[asyncio_redis[py]-asyncio--1024] 25,089.8949 (117.89) 28,208.4569 (60.63) 26,599.5012 (109.07) 842.7451 (29.25) 26,766.4290 (113.17) 1,051.2662 (99.95) 14;0 37.5947 (0.01) 38 1 benchmark_lrange[asyncio_redis[hi]-uvloop--16384] 39,400.7461 (185.13) 45,057.0048 (96.84) 41,247.8103 (169.14) 1,596.8885 (55.42) 40,812.4481 (172.56) 2,031.2621 (193.13) 5;0 24.2437 (0.01) 23 1 benchmark_lrange[asyncio_redis[hi]-asyncio-16384] 40,009.0870 (187.99) 44,154.2771 (94.90) 40,925.3539 (167.81) 927.0604 (32.17) 40,495.7212 (171.22) 868.5836 (82.58) 2;1 24.4347 (0.01) 25 1 benchmark_lrange[redis-py[py]--4096] 43,252.6148 (203.23) 46,866.3443 (100.73) 45,093.4870 (184.90) 1,074.4192 (37.29) 45,133.1036 (190.83) 2,043.7369 (194.32) 6;0 22.1762 (0.01) 21 1 benchmark_lrange[aredis[py]--------asyncio--4096] 44,652.5123 (209.81) 46,541.7989 (100.03) 45,235.0485 (185.48) 475.0155 (16.49) 45,099.2549 (190.68) 416.3450 (39.59) 5;2 22.1068 (0.01) 22 1 benchmark_lrange[aredis[py]--------uvloop---4096] 45,264.3712 (212.69) 47,499.0960 (102.09) 45,758.0881 (187.63) 504.9118 (17.52) 45,638.1319 (192.96) 403.7827 (38.39) 2;2 21.8541 (0.01) 21 1 benchmark_lrange[aioredis[py]------uvloop---4096] 51,578.1799 (242.35) 55,483.3058 (119.24) 52,455.8016 (215.09) 920.5323 (31.95) 52,249.7660 (220.92) 875.6439 (83.26) 2;1 19.0637 (0.00) 19 1 benchmark_lrange[aioredis[py]------asyncio--4096] 52,375.9807 (246.10) 56,189.3051 (120.76) 54,105.5991 (221.86) 1,253.2090 (43.49) 54,305.1364 (229.61) 2,232.9483 (212.31) 9;0 18.4824 (0.00) 20 1 benchmark_lrange[asyncio_redis[hi]-uvloop--32768] 76,943.1363 (361.54) 83,455.6520 (179.36) 80,117.3625 (328.52) 2,124.2995 (73.72) 79,517.9801 (336.21) 3,855.9783 (366.62) 6;0 12.4817 (0.00) 13 1 benchmark_lrange[asyncio_redis[hi]-asyncio-32768] 79,064.6896 (371.51) 84,907.5383 (182.48) 81,867.1299 (335.69) 1,790.3341 (62.13) 81,831.3658 (345.99) 3,135.1154 (298.08) 6;0 12.2149 (0.00) 13 1 benchmark_lrange[asyncio_redis[py]-uvloop---4096] 99,295.7978 (466.57) 110,500.9187 (237.49) 103,261.2305 (423.42) 3,408.4060 (118.29) 102,745.6732 (434.42) 3,854.0568 (366.44) 4;1 9.6842 (0.00) 10 1 benchmark_lrange[asyncio_redis[py]-asyncio--4096] 101,402.0038 (476.46) 111,429.6638 (239.48) 106,053.0231 (434.87) 3,297.1775 (114.43) 104,858.8064 (443.35) 4,668.1617 (443.85) 3;0 9.4292 (0.00) 10 1 benchmark_lrange[redis-py[py]-16384] 173,468.9581 (815.09) 179,536.0423 (385.86) 175,847.8666 (721.06) 2,461.3267 (85.42) 175,308.0685 (741.21) 4,083.8798 (388.29) 1;0 5.6867 (0.00) 6 1 benchmark_lrange[aredis[py]--------asyncio-16384] 183,408.6697 (861.79) 193,324.0211 (415.49) 189,158.0694 (775.64) 4,017.0439 (139.41) 189,661.1666 (801.90) 6,558.7098 (623.60) 2;0 5.2866 (0.00) 6 1 benchmark_lrange[aredis[py]--------uvloop--16384] 184,274.9282 (865.86) 193,775.0429 (416.46) 188,843.9241 (774.35) 3,318.1307 (115.16) 188,240.8394 (795.89) 4,084.0665 (388.31) 2;0 5.2954 (0.00) 6 1 benchmark_lrange[aioredis[py]------asyncio-16384] 211,756.2909 (994.99) 220,788.3471 (474.52) 217,723.1840 (892.77) 3,570.0530 (123.90) 218,227.6719 (922.68) 4,049.9277 (385.06) 1;0 4.5930 (0.00) 5 1 benchmark_lrange[aioredis[py]------uvloop--16384] 212,044.6498 (996.35) 220,527.0170 (473.96) 215,957.1772 (885.53) 3,605.5012 (125.13) 215,957.2560 (913.08) 6,308.6775 (599.82) 2;0 4.6305 (0.00) 5 1 benchmark_lrange[redis-py[py]-32768] 339,201.2813 (>1000.0) 359,069.2868 (771.71) 349,301.3790 (>1000.0) 7,395.4247 (256.66) 350,098.6649 (>1000.0) 9,781.2079 (929.99) 2;0 2.8629 (0.00) 5 1 benchmark_lrange[aredis[py]--------asyncio-32768] 365,934.7179 (>1000.0) 368,524.3200 (792.03) 367,460.5756 (>1000.0) 1,256.4785 (43.61) 368,280.9724 (>1000.0) 2,190.9891 (208.32) 1;0 2.7214 (0.00) 5 1 benchmark_lrange[aredis[py]--------uvloop--32768] 366,912.9410 (>1000.0) 396,812.1177 (852.83) 377,652.5743 (>1000.0) 11,374.6383 (394.76) 374,119.9640 (>1000.0) 10,940.9919 (>1000.0) 1;0 2.6479 (0.00) 5 1 benchmark_lrange[asyncio_redis[py]-asyncio-16384] 389,603.9659 (>1000.0) 467,792.2870 (>1000.0) 435,370.5593 (>1000.0) 30,801.4817 (>1000.0) 432,113.3317 (>1000.0) 43,281.9751 (>1000.0) 2;0 2.2969 (0.00) 5 1 benchmark_lrange[asyncio_redis[py]-uvloop--16384] 415,543.9022 (>1000.0) 435,737.1633 (936.49) 428,399.3036 (>1000.0) 8,103.6243 (281.24) 432,222.2089 (>1000.0) 10,612.3728 (>1000.0) 1;0 2.3343 (0.00) 5 1 benchmark_lrange[aioredis[py]------asyncio-32768] 420,619.3858 (>1000.0) 450,816.0450 (968.90) 434,535.5404 (>1000.0) 11,969.2555 (415.40) 435,608.3060 (>1000.0) 18,535.0861 (>1000.0) 2;0 2.3013 (0.00) 5 1 benchmark_lrange[aioredis[py]------uvloop--32768] 427,974.0262 (>1000.0) 449,708.8599 (966.52) 439,040.3881 (>1000.0) 8,094.4402 (280.92) 439,530.6222 (>1000.0) 10,795.5110 (>1000.0) 2;0 2.2777 (0.00) 5 1 benchmark_lrange[asyncio_redis[py]-asyncio-32768] 836,595.4598 (>1000.0) 958,818.6601 (>1000.0) 863,405.8004 (>1000.0) 53,376.1804 (>1000.0) 840,999.4240 (>1000.0) 32,823.4503 (>1000.0) 1;1 1.1582 (0.00) 5 1 benchmark_lrange[asyncio_redis[py]-uvloop--32768] 848,793.8377 (>1000.0) 892,777.5891 (>1000.0) 861,349.1786 (>1000.0) 18,461.1737 (640.70) 853,437.5350 (>1000.0) 21,345.2654 (>1000.0) 1;0 1.1610 (0.00) 5 1

Parse bulk string reply

.. code::

------------------------------------------------------------------------------------------------------------ benchmark 'bulk-string': 48 tests ------------------------------------------------------------------------------------------------------------- Name (time in ns) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations

benchmark_parser_bulk_string[hiredis-bytes----10] 390.8994 (1.0) 2,143.6019 (1.0) 411.0632 (1.0) 77.7949 (1.0) 397.3022 (1.0) 4.0862 (1.0) 1713;18731 2,432.7160 (1.0) 84992 20 benchmark_parser_bulk_string[hiredis-bytes---256] 525.7316 (1.34) 34,418.8884 (16.06) 577.7012 (1.41) 272.7107 (3.51) 568.1068 (1.43) 21.8861 (5.36) 207;6273 1,730.9987 (0.71) 173073 1 benchmark_parser_bulk_string[hiredis-utf-8----10] 542.0297 (1.39) 34,907.8327 (16.28) 638.2402 (1.55) 471.8793 (6.07) 615.6042 (1.55) 27.9397 (6.84) 373;5950 1,566.8082 (0.64) 162111 1 benchmark_parser_bulk_string[hiredis-bytes--1024] 677.0715 (1.73) 20,258.1286 (9.45) 752.0127 (1.83) 247.9436 (3.19) 740.8671 (1.86) 26.0770 (6.38) 444;6327 1,329.7647 (0.55) 183750 1 benchmark_parser_bulk_string[hiredis-utf-8---256] 774.9934 (1.98) 5,251.7280 (2.45) 798.9205 (1.94) 103.4809 (1.33) 788.8302 (1.99) 4.9892 (1.22) 1343;19262 1,251.6889 (0.51) 177713 7 benchmark_parser_bulk_string[hiredis-bytes--4096] 1,297.3323 (3.32) 231,599.9009 (108.04) 1,480.4248 (3.60) 990.3276 (12.73) 1,444.0157 (3.63) 65.1926 (15.95) 334;3522 675.4818 (0.28) 129500 1 benchmark_parser_bulk_string[hiredis-utf-8--1024] 2,390.2394 (6.11) 36,302.9540 (16.94) 2,481.9669 (6.04) 519.8476 (6.68) 2,446.1187 (6.16) 30.7336 (7.52) 452;10305 402.9063 (0.17) 133833 1 benchmark_parser_bulk_string[redispy[hi]-bytes----10] 2,666.3765 (6.82) 37,958.8455 (17.71) 2,973.5634 (7.23) 1,306.6156 (16.80) 2,809.8002 (7.07) 101.0485 (24.73) 808;4034 336.2969 (0.14) 73331 1 benchmark_parser_bulk_string[redispy[hi]-utf-8----10] 2,712.0113 (6.94) 809,632.2417 (377.70) 3,018.1910 (7.34) 3,361.9514 (43.22) 2,864.2826 (7.21) 82.8877 (20.28) 676;6497 331.3243 (0.14) 67267 1 benchmark_parser_bulk_string[redispy[hi]-bytes---256] 2,751.1269 (7.04) 37,500.1691 (17.49) 3,012.3784 (7.33) 981.5384 (12.62) 2,908.9861 (7.32) 98.7202 (24.16) 495;3676 331.9636 (0.14) 69465 1 benchmark_parser_bulk_string[redispy[hi]-bytes--1024] 2,946.7046 (7.54) 37,753.0232 (17.61) 3,154.8961 (7.67) 941.6604 (12.10) 3,056.1350 (7.69) 78.2311 (19.15) 293;4620 316.9677 (0.13) 46143 1 benchmark_parser_bulk_string[redispy[hi]-utf-8---256] 3,048.2188 (7.80) 23,317.0576 (10.88) 3,422.5031 (8.33) 1,347.4095 (17.32) 3,246.1248 (8.17) 136.9044 (33.50) 682;3031 292.1838 (0.12) 56673 1 benchmark_parser_bulk_string[redispy[hi]-bytes--4096] 3,985.1293 (10.19) 32,729.9349 (15.27) 4,167.1787 (10.14) 610.7127 (7.85) 4,125.2933 (10.38) 61.0016 (14.93) 234;1717 239.9705 (0.10) 53937 1 benchmark_parser_bulk_string[hiredis-bytes-16384] 4,221.2196 (10.80) 34,632.6269 (16.16) 4,429.0017 (10.77) 803.4322 (10.33) 4,337.6349 (10.92) 62.3986 (15.27) 668;9583 225.7845 (0.09) 92945 1 benchmark_parser_bulk_string[redispy[hi]-utf-8--1024] 4,683.6212 (11.98) 39,002.8581 (18.20) 4,960.4297 (12.07) 1,201.7993 (15.45) 4,805.6245 (12.10) 51.2227 (12.54) 762;4628 201.5954 (0.08) 52948 1 benchmark_parser_bulk_string[aioredis[py]-bytes----10] 6,053.1311 (15.49) 69,845.9335 (32.58) 6,615.7727 (16.09) 1,852.2052 (23.81) 6,298.0689 (15.85) 125.7285 (30.77) 462;3157 151.1539 (0.06) 20834 1 benchmark_parser_bulk_string[aioredis[py]-utf-8----10] 6,339.9784 (16.22) 55,913.3478 (26.08) 6,722.3334 (16.35) 1,340.7552 (17.23) 6,541.1441 (16.46) 108.9647 (26.67) 762;4041 148.7579 (0.06) 46288 1 benchmark_parser_bulk_string[aioredis[py]-bytes---256] 6,373.9717 (16.31) 42,567.9609 (19.86) 6,678.2933 (16.25) 1,031.7385 (13.26) 6,575.1374 (16.55) 87.5443 (21.42) 345;2330 149.7389 (0.06) 36611 1 benchmark_parser_bulk_string[aioredis[py]-bytes--1024] 6,866.1757 (17.57) 41,647.3486 (19.43) 7,425.8697 (18.07) 1,592.4390 (20.47) 7,138.5875 (17.97) 304.0768 (74.42) 521;1184 134.6644 (0.06) 28168 1 benchmark_parser_bulk_string[aioredis[py]-utf-8---256] 6,884.8021 (17.61) 35,884.7901 (16.74) 7,202.4341 (17.52) 915.2045 (11.76) 7,106.9226 (17.89) 113.1557 (27.69) 305;2018 138.8420 (0.06) 35638 1 benchmark_parser_bulk_string[redispy[py]-bytes----10] 7,034.7451 (18.00) 742,178.4103 (346.23) 7,376.6289 (17.95) 4,526.3239 (58.18) 7,212.1620 (18.15) 72.1775 (17.66) 288;2447 135.5633 (0.06) 28024 1 benchmark_parser_bulk_string[redispy[py]-bytes---256] 7,254.0715 (18.56) 42,077.1539 (19.63) 8,020.7908 (19.51) 1,964.6129 (25.25) 7,682.9456 (19.34) 407.9193 (99.83) 894;1353 124.6760 (0.05) 34980 1 benchmark_parser_bulk_string[redispy[py]-utf-8----10] 7,435.2138 (19.02) 41,530.9332 (19.37) 8,056.9365 (19.60) 1,598.4438 (20.55) 7,756.9857 (19.52) 296.2770 (72.51) 1168;1478 124.1167 (0.05) 48417 1 benchmark_parser_bulk_string[aioredis[py]-bytes--4096] 7,481.7799 (19.14) 22,221.3566 (10.37) 7,772.3578 (18.91) 555.6994 (7.14) 7,720.6641 (19.43) 96.8575 (23.70) 298;1805 128.6611 (0.05) 32075 1 benchmark_parser_bulk_string[redispy[py]-bytes--1024] 7,995.4043 (20.45) 42,633.1535 (19.89) 8,533.9459 (20.76) 1,508.6670 (19.39) 8,261.2969 (20.79) 298.0232 (72.93) 467;1069 117.1791 (0.05) 28650 1 benchmark_parser_bulk_string[redispy[py]-utf-8---256] 8,048.0240 (20.59) 41,778.1994 (19.49) 8,772.9607 (21.34) 1,808.0573 (23.24) 8,418.2248 (21.19) 412.1102 (100.85) 948;1460 113.9866 (0.05) 44203 1 benchmark_parser_bulk_string[hiredis-bytes-32768] 8,520.6702 (21.80) 35,294.7973 (16.47) 8,797.7980 (21.40) 1,019.5169 (13.11) 8,678.0638 (21.84) 54.0167 (13.22) 647;3401 113.6648 (0.05) 53409 1 benchmark_parser_bulk_string[aioredis[py]-utf-8--1024] 8,707.8661 (22.28) 28,405.3385 (13.25) 9,006.0108 (21.91) 730.7297 (9.39) 8,953.7352 (22.54) 79.1624 (19.37) 202;859 111.0370 (0.05) 32521 1 benchmark_parser_bulk_string[redispy[py]-bytes--4096] 8,957.9262 (22.92) 27,663.0744 (12.90) 9,267.8888 (22.55) 480.9127 (6.18) 9,235.9260 (23.25) 107.5678 (26.32) 187;763 107.8994 (0.04) 29154 1 benchmark_parser_bulk_string[redispy[hi]-bytes-16384] 9,587.0346 (24.53) 51,060.6915 (23.82) 10,119.2123 (24.62) 1,364.2414 (17.54) 9,916.2571 (24.96) 127.3584 (31.17) 650;3213 98.8219 (0.04) 35264 1 benchmark_parser_bulk_string[hiredis-utf-8--4096] 9,729.0613 (24.89) 45,291.1481 (21.13) 9,890.2242 (24.06) 836.2262 (10.75) 9,805.8954 (24.68) 35.8559 (8.77) 431;2516 101.1099 (0.04) 42010 1 benchmark_parser_bulk_string[redispy[py]-utf-8--1024] 10,091.8114 (25.82) 6,348,229.0134 (>1000.0) 11,181.8434 (27.20) 36,700.3476 (471.76) 10,589.1377 (26.65) 463.7986 (113.50) 2;944 89.4307 (0.04) 29897 1 benchmark_parser_bulk_string[redispy[hi]-utf-8--4096] 12,435.9503 (31.81) 49,346.1266 (23.02) 12,738.5385 (30.99) 1,153.1318 (14.82) 12,611.0390 (31.74) 73.1088 (17.89) 404;2792 78.5019 (0.03) 36817 1 benchmark_parser_bulk_string[aioredis[py]-bytes-16384] 12,998.0035 (33.25) 37,978.8689 (17.72) 13,463.2161 (32.75) 1,234.3403 (15.87) 13,288.5762 (33.45) 195.1121 (47.75) 376;951 74.2765 (0.03) 25678 1 benchmark_parser_bulk_string[redispy[py]-bytes-16384] 16,144.0112 (41.30) 51,727.9841 (24.13) 16,992.7734 (41.34) 2,051.8440 (26.38) 16,607.8098 (41.80) 318.9780 (78.06) 601;1589 58.8485 (0.02) 21947 1 benchmark_parser_bulk_string[aioredis[py]-utf-8--4096] 16,412.2321 (41.99) 50,059.9854 (23.35) 16,837.8715 (40.96) 1,283.2906 (16.50) 16,672.0711 (41.96) 97.3232 (23.82) 364;2088 59.3899 (0.02) 25846 1 benchmark_parser_bulk_string[redispy[hi]-bytes-32768] 17,729.1222 (45.35) 48,110.7272 (22.44) 18,442.1603 (44.86) 1,653.0759 (21.25) 18,198.9744 (45.81) 239.8156 (58.69) 448;1049 54.2236 (0.02) 22199 1 benchmark_parser_bulk_string[redispy[py]-utf-8--4096] 18,366.1468 (46.98) 86,437.9108 (40.32) 18,966.4077 (46.14) 1,775.9131 (22.83) 18,656.7195 (46.96) 177.8826 (43.53) 529;3409 52.7248 (0.02) 26955 1 benchmark_parser_bulk_string[aioredis[py]-bytes-32768] 21,189.9169 (54.21) 70,146.7507 (32.72) 22,165.7999 (53.92) 2,197.4406 (28.25) 21,717.9768 (54.66) 438.8858 (107.41) 448;932 45.1145 (0.02) 17424 1 benchmark_parser_bulk_string[redispy[py]-bytes-32768] 26,239.0822 (67.12) 61,871.0183 (28.86) 27,234.1133 (66.25) 2,282.4564 (29.34) 26,784.8372 (67.42) 432.0173 (105.73) 410;1384 36.7187 (0.02) 16863 1 benchmark_parser_bulk_string[hiredis-utf-8-16384] 40,357.9324 (103.24) 90,571.1204 (42.25) 41,402.6984 (100.72) 3,889.9699 (50.00) 40,540.9373 (102.04) 155.0652 (37.95) 880;2552 24.1530 (0.01) 21604 1 benchmark_parser_bulk_string[redispy[hi]-utf-8-16384] 45,639.9284 (116.76) 107,225.9620 (50.02) 46,868.6134 (114.02) 4,075.5070 (52.39) 45,896.0421 (115.52) 165.3098 (40.46) 451;1728 21.3362 (0.01) 10601 1 benchmark_parser_bulk_string[aioredis[py]-utf-8-16384] 49,692.1130 (127.12) 119,667.9659 (55.83) 51,049.5592 (124.19) 4,188.8471 (53.84) 50,125.1779 (126.16) 225.8457 (55.27) 541;2012 19.5888 (0.01) 14169 1 benchmark_parser_bulk_string[redispy[py]-utf-8-16384] 55,511.0164 (142.01) 136,101.1527 (63.49) 57,143.5093 (139.01) 4,961.5125 (63.78) 55,932.9055 (140.78) 325.9629 (79.77) 585;1925 17.4998 (0.01) 12891 1 benchmark_parser_bulk_string[hiredis-utf-8-32768] 81,649.9814 (208.88) 153,705.0121 (71.70) 82,970.0657 (201.84) 5,529.7688 (71.08) 81,811.1002 (205.92) 61.9330 (15.16) 447;1150 12.0525 (0.00) 9968 1 benchmark_parser_bulk_string[redispy[hi]-utf-8-32768] 90,240.0352 (230.85) 160,577.7070 (74.91) 91,982.0068 (223.77) 6,415.1185 (82.46) 90,559.0132 (227.93) 156.9279 (38.40) 344;1246 10.8717 (0.00) 8375 1 benchmark_parser_bulk_string[aioredis[py]-utf-8-32768] 94,751.8274 (242.39) 170,888.8449 (79.72) 96,901.3153 (235.73) 6,527.6885 (83.91) 95,622.8469 (240.68) 222.1204 (54.36) 359;1877 10.3198 (0.00) 8810 1 benchmark_parser_bulk_string[redispy[py]-utf-8-32768] 105,293.9333 (269.36) 197,147.9505 (91.97) 107,039.2279 (260.40) 6,866.5460 (88.26) 105,601.2698 (265.80) 155.0652 (37.95) 335;948 9.3424 (0.00) 7448 1

Parse multi-bulk reply

.. code::

------------------------------------------------------------------------------------------------------------ benchmark 'multi-bulk': 48 tests ------------------------------------------------------------------------------------------------------------ Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations

benchmark_parser_multi_bulk[hiredis-bytes----10] 8.0778 (1.0) 43.1659 (1.0) 8.6152 (1.0) 1.8920 (2.49) 8.2678 (1.0) 0.2692 (2.81) 633;1378 116,074.5255 (1.0) 28497 1 benchmark_parser_multi_bulk[hiredis-bytes---256] 12.3959 (1.53) 95.9788 (2.22) 12.8068 (1.49) 1.4468 (1.90) 12.6320 (1.53) 0.0959 (1.0) 435;2017 78,083.6415 (0.67) 29780 1 benchmark_parser_multi_bulk[redispy[hi]-bytes----10] 14.7186 (1.82) 50.9671 (1.18) 15.0680 (1.75) 0.7608 (1.0) 14.9920 (1.81) 0.1043 (1.09) 668;1097 66,365.6521 (0.57) 24004 1 benchmark_parser_multi_bulk[redispy[hi]-bytes---256] 17.8670 (2.21) 224.3719 (5.20) 19.2570 (2.24) 3.5725 (4.70) 18.3531 (2.22) 0.6333 (6.60) 912;1893 51,929.1190 (0.45) 19947 1 benchmark_parser_multi_bulk[hiredis-utf-8---256] 23.1238 (2.86) 87.9671 (2.04) 26.2424 (3.05) 5.3902 (7.09) 23.7278 (2.87) 1.9437 (20.26) 3591;4710 38,106.3283 (0.33) 23348 1 benchmark_parser_multi_bulk[redispy[hi]-utf-8---256] 27.3040 (3.38) 86.6931 (2.01) 29.3097 (3.40) 3.8339 (5.04) 27.9071 (3.38) 0.3958 (4.13) 2014;2559 34,118.3836 (0.29) 15709 1 benchmark_parser_multi_bulk[hiredis-bytes--1024] 35.5360 (4.40) 817.6370 (18.94) 37.0052 (4.30) 9.5572 (12.56) 35.9137 (4.34) 0.2445 (2.55) 270;1641 27,023.2090 (0.23) 8143 1 benchmark_parser_multi_bulk[redispy[hi]-bytes--1024] 41.0653 (5.08) 110.1410 (2.55) 44.2914 (5.14) 6.2218 (8.18) 42.0222 (5.08) 2.6040 (27.15) 1048;1245 22,577.7543 (0.19) 10860 1 benchmark_parser_multi_bulk[redispy[py]-bytes----10] 57.0039 (7.06) 714.4450 (16.55) 58.6594 (6.81) 7.1729 (9.43) 58.0982 (7.03) 0.6156 (6.42) 192;848 17,047.5720 (0.15) 10172 1 benchmark_parser_multi_bulk[aioredis[py]-bytes----10] 62.8801 (7.78) 140.4802 (3.25) 65.5195 (7.61) 4.9618 (6.52) 64.2543 (7.77) 1.7910 (18.67) 361;585 15,262.6328 (0.13) 8521 1 benchmark_parser_multi_bulk[hiredis-utf-8----10] 70.6050 (8.74) 166.9251 (3.87) 74.3143 (8.63) 8.5186 (11.20) 71.2771 (8.62) 2.8610 (29.83) 658;847 13,456.3521 (0.12) 8958 1 benchmark_parser_multi_bulk[hiredis-utf-8--1024] 77.4832 (9.59) 173.6321 (4.02) 84.1252 (9.76) 9.1048 (11.97) 78.0071 (9.44) 12.2507 (127.71) 1655;87 11,887.0403 (0.10) 9249 1 benchmark_parser_multi_bulk[redispy[hi]-utf-8----10] 77.7631 (9.63) 153.5327 (3.56) 78.7059 (9.14) 2.7732 (3.65) 78.2269 (9.46) 0.2165 (2.26) 173;1269 12,705.5301 (0.11) 9794 1 benchmark_parser_multi_bulk[redispy[hi]-utf-8--1024] 82.7429 (10.24) 221.6939 (5.14) 91.5723 (10.63) 11.4332 (15.03) 87.2840 (10.56) 14.8787 (155.11) 1241;157 10,920.3342 (0.09) 8079 1 benchmark_parser_multi_bulk[hiredis-bytes--4096] 117.6703 (14.57) 227.8970 (5.28) 129.9945 (15.09) 18.2518 (23.99) 118.8787 (14.38) 9.7576 (101.72) 1000;1002 7,692.6351 (0.07) 4719 1 benchmark_parser_multi_bulk[redispy[hi]-bytes--4096] 124.7427 (15.44) 320.4364 (7.42) 158.5203 (18.40) 14.9338 (19.63) 161.1495 (19.49) 12.5670 (131.01) 765;632 6,308.3421 (0.05) 4528 1 benchmark_parser_multi_bulk[aioredis[py]-utf-8----10] 128.6399 (15.93) 702.0491 (16.26) 131.0681 (15.21) 9.7497 (12.82) 129.7039 (15.69) 0.6761 (7.05) 237;480 7,629.6219 (0.07) 5307 1 benchmark_parser_multi_bulk[redispy[py]-utf-8----10] 129.4632 (16.03) 247.0510 (5.72) 131.3819 (15.25) 3.9875 (5.24) 130.7526 (15.81) 0.4959 (5.17) 132;626 7,611.3991 (0.07) 6126 1 benchmark_parser_multi_bulk[hiredis-utf-8--4096] 350.7934 (43.43) 564.9440 (13.09) 358.1201 (41.57) 8.7803 (11.54) 358.0051 (43.30) 9.4877 (98.91) 102;76 2,792.3593 (0.02) 2475 1 benchmark_parser_multi_bulk[redispy[hi]-utf-8--4096] 356.4740 (44.13) 604.9220 (14.01) 367.7834 (42.69) 27.0138 (35.51) 357.9753 (43.30) 4.2103 (43.89) 201;415 2,718.9915 (0.02) 2293 1 benchmark_parser_multi_bulk[hiredis-bytes-16384] 580.4002 (71.85) 832.4464 (19.28) 600.4003 (69.69) 30.9498 (40.68) 588.4946 (71.18) 7.5190 (78.38) 161;310 1,665.5554 (0.01) 1404 1 benchmark_parser_multi_bulk[hiredis-bytes-32768] 608.8819 (75.38) 844.4078 (19.56) 622.3146 (72.23) 28.5780 (37.57) 610.0410 (73.79) 3.3303 (34.72) 201;374 1,606.9043 (0.01) 1589 1 benchmark_parser_multi_bulk[redispy[hi]-bytes-16384] 608.9327 (75.38) 810.6674 (18.78) 624.3273 (72.47) 26.8069 (35.24) 614.6296 (74.34) 4.6156 (48.12) 142;236 1,601.7239 (0.01) 1234 1 benchmark_parser_multi_bulk[redispy[hi]-bytes-32768] 625.9899 (77.49) 881.3874 (20.42) 635.1996 (73.73) 26.3210 (34.60) 626.7731 (75.81) 1.9784 (20.62) 124;219 1,574.3083 (0.01) 1483 1 benchmark_parser_multi_bulk[redispy[py]-bytes---256] 851.6819 (105.43) 1,234.4541 (28.60) 918.0049 (106.56) 68.0788 (89.49) 890.9660 (107.76) 73.5304 (766.53) 151;57 1,089.3188 (0.01) 1003 1 benchmark_parser_multi_bulk[redispy[py]-utf-8---256] 969.4952 (120.02) 1,421.8222 (32.94) 1,025.0648 (118.98) 68.0735 (89.48) 992.5105 (120.05) 64.1348 (668.58) 132;70 975.5481 (0.01) 972 1 benchmark_parser_multi_bulk[hiredis-utf-8-32768] 1,044.0294 (129.25) 1,298.1948 (30.07) 1,062.5215 (123.33) 40.3303 (53.01) 1,046.2566 (126.55) 4.5167 (47.08) 109;218 941.1574 (0.01) 960 1 benchmark_parser_multi_bulk[aioredis[py]-bytes---256] 1,046.0140 (129.49) 1,476.1519 (34.20) 1,121.9254 (130.23) 82.8340 (108.88) 1,089.8430 (131.82) 101.5329 (>1000.0) 111;28 891.3248 (0.01) 649 1 benchmark_parser_multi_bulk[redispy[hi]-utf-8-32768] 1,063.0214 (131.60) 1,296.8876 (30.04) 1,079.9782 (125.36) 35.9712 (47.28) 1,064.2842 (128.73) 3.8132 (39.75) 109;208 925.9446 (0.01) 893 1 benchmark_parser_multi_bulk[aioredis[py]-utf-8---256] 1,095.8826 (135.67) 1,492.7341 (34.58) 1,167.3609 (135.50) 78.8203 (103.61) 1,138.5130 (137.70) 88.8442 (926.17) 150;49 856.6331 (0.01) 848 1 benchmark_parser_multi_bulk[redispy[hi]-utf-8-16384] 1,254.8328 (155.34) 1,788.2963 (41.43) 1,331.7688 (154.58) 58.3882 (76.75) 1,317.0876 (159.30) 11.2369 (117.14) 136;195 750.8811 (0.01) 654 1 benchmark_parser_multi_bulk[hiredis-utf-8-16384] 1,290.9058 (159.81) 1,661.3272 (38.49) 1,330.7965 (154.47) 66.6307 (87.58) 1,297.1428 (156.89) 39.3578 (410.29) 92;96 751.4297 (0.01) 647 1 benchmark_parser_multi_bulk[redispy[py]-bytes--1024] 3,413.6032 (422.59) 4,208.4572 (97.50) 3,680.3226 (427.19) 184.8601 (243.00) 3,656.6970 (442.28) 269.7286 (>1000.0) 101;2 271.7153 (0.00) 263 1 benchmark_parser_multi_bulk[redispy[py]-utf-8--1024] 3,838.3659 (475.17) 4,890.4270 (113.29) 4,102.9412 (476.25) 165.4420 (217.47) 4,058.4682 (490.88) 204.2520 (>1000.0) 61;5 243.7276 (0.00) 233 1 benchmark_parser_multi_bulk[aioredis[py]-bytes--1024] 4,159.8491 (514.97) 4,959.6401 (114.90) 4,281.9705 (497.03) 147.9560 (194.49) 4,219.0836 (510.30) 123.0079 (>1000.0) 31;23 233.5373 (0.00) 236 1 benchmark_parser_multi_bulk[aioredis[py]-utf-8--1024] 4,273.3760 (529.03) 5,048.1167 (116.95) 4,455.2761 (517.14) 139.4561 (183.31) 4,425.9629 (535.32) 190.9554 (>1000.0) 51;5 224.4530 (0.00) 185 1 benchmark_parser_multi_bulk[redispy[py]-bytes--4096] 13,674.7039 (>1000.0) 15,553.7920 (360.33) 14,298.2344 (>1000.0) 455.5205 (598.77) 14,239.0823 (>1000.0) 598.0367 (>1000.0) 25;3 69.9387 (0.00) 70 1 benchmark_parser_multi_bulk[redispy[py]-utf-8--4096] 15,222.9951 (>1000.0) 17,298.0693 (400.73) 15,910.0994 (>1000.0) 638.7623 (839.64) 15,670.2721 (>1000.0) 1,137.1492 (>1000.0) 17;0 62.8532 (0.00) 57 1 benchmark_parser_multi_bulk[aioredis[py]-bytes--4096] 16,641.2969 (>1000.0) 17,797.1483 (412.30) 16,797.4530 (>1000.0) 213.4511 (280.58) 16,731.5819 (>1000.0) 71.5393 (745.77) 4;5 59.5328 (0.00) 60 1 benchmark_parser_multi_bulk[aioredis[py]-utf-8--4096] 17,204.8747 (>1000.0) 18,797.7902 (435.48) 17,514.0856 (>1000.0) 333.7358 (438.69) 17,380.0429 (>1000.0) 248.9272 (>1000.0) 8;6 57.0969 (0.00) 58 1 benchmark_parser_multi_bulk[redispy[py]-bytes-16384] 54,974.6421 (>1000.0) 57,633.0433 (>1000.0) 55,981.1187 (>1000.0) 894.4505 (>1000.0) 55,852.2400 (>1000.0) 1,692.4385 (>1000.0) 6;0 17.8632 (0.00) 17 1 benchmark_parser_multi_bulk[redispy[py]-utf-8-16384] 62,333.6821 (>1000.0) 65,492.7469 (>1000.0) 63,411.5302 (>1000.0) 880.7677 (>1000.0) 63,605.1898 (>1000.0) 1,525.8377 (>1000.0) 6;0 15.7700 (0.00) 17 1 benchmark_parser_multi_bulk[aioredis[py]-bytes-16384] 68,008.9160 (>1000.0) 71,371.6359 (>1000.0) 69,206.7771 (>1000.0) 1,027.3882 (>1000.0) 68,918.3199 (>1000.0) 1,567.6782 (>1000.0) 5;0 14.4495 (0.00) 15 1 benchmark_parser_multi_bulk[aioredis[py]-utf-8-16384] 69,777.7998 (>1000.0) 74,203.1173 (>1000.0) 71,276.3218 (>1000.0) 1,562.3628 (>1000.0) 70,619.7429 (>1000.0) 1,618.3510 (>1000.0) 3;2 14.0299 (0.00) 15 1 benchmark_parser_multi_bulk[redispy[py]-bytes-32768] 109,357.4930 (>1000.0) 113,094.1282 (>1000.0) 110,655.3480 (>1000.0) 1,153.5603 (>1000.0) 110,291.6789 (>1000.0) 1,087.1391 (>1000.0) 2;1 9.0371 (0.00) 9 1 benchmark_parser_multi_bulk[redispy[py]-utf-8-32768] 120,504.9744 (>1000.0) 124,505.6996 (>1000.0) 122,045.5333 (>1000.0) 1,433.8899 (>1000.0) 121,959.9601 (>1000.0) 2,383.5112 (>1000.0) 4;0 8.1937 (0.00) 9 1 benchmark_parser_multi_bulk[aioredis[py]-bytes-32768] 134,874.8300 (>1000.0) 137,230.2528 (>1000.0) 136,114.1934 (>1000.0) 859.9842 (>1000.0) 136,212.7233 (>1000.0) 1,425.9145 (>1000.0) 4;0 7.3468 (0.00) 8 1 benchmark_parser_multi_bulk[aioredis[py]-utf-8-32768] 135,799.9239 (>1000.0) 137,143.8610 (>1000.0) 136,499.7642 (>1000.0) 397.7128 (522.79) 136,586.8566 (>1000.0) 404.9740 (>1000.0) 2;0 7.3260 (0.00) 8 1

Parse error reply

.. code::

---------------------------------------------------------------------------------------------------- benchmark 'simple-error': 8 tests ---------------------------------------------------------------------------------------------------- Name (time in ns) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations

benchmark_parser_simple_error[hiredis-bytes] 656.6988 (1.0) 5,186.1862 (1.0) 710.3468 (1.0) 137.9733 (1.0) 706.1753 (1.0) 20.8383 (1.0) 685;5138 1,407.7631 (1.0) 153920 4 benchmark_parser_simple_error[hiredis-utf-8] 765.0815 (1.17) 15,757.0466 (3.04) 828.1888 (1.17) 260.1364 (1.89) 819.0982 (1.16) 22.8174 (1.09) 140;1486 1,207.4541 (0.86) 146108 1 benchmark_parser_simple_error[redispy[hi]-utf-8] 4,134.1409 (6.30) 22,260.0065 (4.29) 4,333.9913 (6.10) 638.0004 (4.62) 4,283.1525 (6.07) 55.8794 (2.68) 338;3352 230.7342 (0.16) 62807 1 benchmark_parser_simple_error[redispy[hi]-bytes] 4,163.0119 (6.34) 21,771.9935 (4.20) 4,363.0429 (6.14) 650.9165 (4.72) 4,307.3669 (6.10) 58.2077 (2.79) 317;3814 229.1978 (0.16) 56371 1 benchmark_parser_simple_error[aioredis[py]-bytes] 6,194.6921 (9.43) 23,377.5936 (4.51) 6,522.3580 (9.18) 816.5088 (5.92) 6,431.2480 (9.11) 93.1323 (4.47) 463;2268 153.3188 (0.11) 33088 1 benchmark_parser_simple_error[aioredis[py]-utf-8] 6,244.0522 (9.51) 40,100.8874 (7.73) 6,585.4663 (9.27) 843.4758 (6.11) 6,499.7002 (9.20) 88.4756 (4.25) 724;1558 151.8495 (0.11) 47210 1 benchmark_parser_simple_error[redispy[py]-bytes] 7,166.9929 (10.91) 40,152.1102 (7.74) 7,510.9454 (10.57) 988.1252 (7.16) 7,383.9910 (10.46) 104.5410 (5.02) 334;2786 133.1390 (0.09) 30941 1 benchmark_parser_simple_error[redispy[py]-utf-8] 7,337.8906 (11.17) 24,973.8805 (4.82) 7,589.0976 (10.68) 865.6301 (6.27) 7,519.0328 (10.65) 93.9472 (4.51) 5;24 131.7680 (0.09) 553 1

Test environment


:CPU: Intel(R) Core(TM) i5-4460  CPU @ 3.20GHz

:Cores: 4

:RAM: 16GiB

:Python: CPython 3.6.3

:Redis: Redis server v=4.0.1 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=6f05deda2aff122a
Open Source Agenda is not affiliated with "Python Redis Benchmark" Project. README Source: popravich/python-redis-benchmark
Stars
53
Open Issues
1
Last Commit
6 years ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating