File: socket_read_size.py

package info (click to toggle)
python-redis 6.4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 9,432 kB
  • sloc: python: 60,318; sh: 179; makefile: 128
file content (26 lines) | stat: -rw-r--r-- 797 bytes parent folder | download | duplicates (2)
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
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()