I started with the current microbenchmarking suite from the zio-redis repository and tweaked it to check throughput, considering the different key values' sizes, from 128b to 32kb. I've been running microbenchmarking for the current versions of Redis4Cats and Zio-Redis:
"dev.profunktor" %% "redis4cats-effects" % "1.7.2"
"dev.zio" %% "zio-redis" % "1.0.0"The suite's config:
@Measurement(iterations = 10)
@Warmup(iterations = 10)
@Fork(2)Also, the machine was MacOS, M1 chip & 16Gb.
[info] Benchmark (bytes) (parallelism) (repetitions) Mode Cnt Score Error Units
[info] SetGetBenchmark.Redis4Cats 128 32 128 thrpt 20 4.779 ± 0.176 ops/s
[info] SetGetBenchmark.Redis4Cats 512 32 128 thrpt 20 4.233 ± 0.102 ops/s
[info] SetGetBenchmark.Redis4Cats 2048 32 128 thrpt 20 3.516 ± 0.021 ops/s
[info] SetGetBenchmark.Redis4Cats 8192 32 128 thrpt 20 1.947 ± 0.059 ops/s
[info] SetGetBenchmark.Redis4Cats 32768 32 128 thrpt 20 0.806 ± 0.027 ops/s
[info] SetGetBenchmark.ZioRedis 128 32 128 thrpt 20 5.330 ± 0.099 ops/s
[info] SetGetBenchmark.ZioRedis 512 32 128 thrpt 20 3.947 ± 0.030 ops/s
[info] SetGetBenchmark.ZioRedis 2048 32 128 thrpt 20 2.135 ± 0.077 ops/s
[info] SetGetBenchmark.ZioRedis 8192 32 128 thrpt 20 0.656 ± 0.034 ops/s
[info] SetGetBenchmark.ZioRedis 32768 32 128 thrpt 20 0.177 ± 0.005 ops/s
The whole suite is listed in this gist.