summaryrefslogtreecommitdiff
path: root/benchmarks/socket_read_size.py
blob: 544c7331786aea3a24dcaa0e7bddef62f8d3fac3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from base import Benchmark

from redis.connection import PythonParser, _HiredisParser


class SocketReadBenchmark(Benchmark):

    ARGUMENTS = (
        {"name": "parser", "values": [PythonParser, _HiredisParser]},
        {
            "name": "value_size",
            "values": [10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000],
        },
        {"name": "read_size", "values": [4096, 8192, 16384, 32768, 65536, 131072]},
    )

    def setup(self, value_size, read_size, parser):
        r = self.get_client(parser_class=parser, socket_read_size=read_size)
        r.set("benchmark", "a" * value_size)

    def run(self, value_size, read_size, parser):
        r = self.get_client()
        r.get("benchmark")


if __name__ == "__main__":
    SocketReadBenchmark().run_benchmark()