Skip to content

Let IO threads free argv and rewrite objects#13968

Merged
ShooterIT merged 4 commits into
redis:unstablefrom
ShooterIT:io-thread-free
May 23, 2025
Merged

Let IO threads free argv and rewrite objects#13968
ShooterIT merged 4 commits into
redis:unstablefrom
ShooterIT:io-thread-free

Conversation

@ShooterIT

@ShooterIT ShooterIT commented Apr 23, 2025

Copy link
Copy Markdown
Member

Some objects that are allocated in the IO thread, we should let IO thread free them, so we can avoid memory arena contention and also reduce the load of the main thread.

These objects include:

  • client argv objects
  • the rewrite objects that are only OBJ_ENCODING_RAW encoding strings, since only the type object is usually allocated by IO threads.

For the implementation, if the client is assigned to IO threads, we will create a deferred_objects array of size 32. We will put objects into the deferred_objects when main thread wants to free above objects, and finally they are be freed by IO threads.

@ShooterIT ShooterIT requested a review from sundb May 12, 2025 08:58
@fcostaoliveira fcostaoliveira added the action:run-benchmark Triggers the benchmark suite for this Pull Request label May 13, 2025
@fcostaoliveira

fcostaoliveira commented May 13, 2025

Copy link
Copy Markdown
Collaborator

CE Performance Automation : step 1 of 2 (build) DONE.

This comment was automatically generated given a benchmark was triggered.
Started building at 2025-05-22 03:29:41.787686 and took 64 seconds.
You can check each build/benchmark progress in grafana:

  • git hash: 5ffac36
  • git branch: ShooterIT:io-thread-free
  • commit date and time: n/a
  • commit summary: n/a
  • test filters:
    • command priority lower limit: 0
    • command priority upper limit: 10000
    • test name regex: .*
    • command group regex: .*

You can check a comparison in detail via the grafana link

@fcostaoliveira

fcostaoliveira commented May 13, 2025

Copy link
Copy Markdown
Collaborator

CE Performance Automation : step 2 of 2 (benchmark) FINISHED.

This comment was automatically generated given a benchmark was triggered.

Started benchmark suite at 2025-06-19 09:12:18.389962 and took 11288.104381 seconds to finish.
Status: [################################################################################] 100.0% completed.

In total will run 176 benchmarks.
- 0 pending.
- 176 completed:
- 0 successful.
- 176 failed.
You can check a the status in detail via the grafana link

@fcostaoliveira

fcostaoliveira commented May 13, 2025

Copy link
Copy Markdown
Collaborator

Automated performance analysis summary

This comment was automatically generated given there is performance data available.

Using platform named: intel64-ubuntu22.04-redis-icx1 to do the comparison.

In summary:

  • Detected a total of 178 stable tests between versions.
  • Detected a total of 5 regressions bellow the regression water line 10.0.
    • Median/Common-Case regression was -15.0% and ranged from [-44.2%,-10.9%].

You can check a comparison in detail via the grafana link

Comparison between unstable and ShooterIT:io-thread-free.

Time Period from 5 months ago. (environment used: oss-standalone)

By GROUP change csv:

command_group,min_change,max_change

By COMMAND change csv:

command,min_change,max_change

#### Regressions Table
Test Case Baseline redis/redis unstable (median obs. +- std.dev) Comparison redis/redis ShooterIT:io-thread-free (median obs. +- std.dev) % change (higher-better) Note
memtier_benchmark-1Mkeys-load-zset-listpack-with-100-elements-double-score 2936 1637 +- 0.3% (3 datapoints) -44.2% REGRESSION
memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score 107237 91156 +- 0.1% (3 datapoints) -15.0% REGRESSION
memtier_benchmark-1key-load-zset-with-5-elements-parsing-float-score 150732 134338 +- 1.8% (3 datapoints) -10.9% REGRESSION
memtier_benchmark-1key-zset-100-elements-zrange-all-elements 23543 19994 +- 0.1% (4 datapoints) -15.1% REGRESSION
memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements 23154 19690 +- 0.3% (3 datapoints) -15.0% REGRESSION

Regressions test regexp names: memtier_benchmark-1Mkeys-load-zset-listpack-with-100-elements-double-score|memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score|memtier_benchmark-1key-load-zset-with-5-elements-parsing-float-score|memtier_benchmark-1key-zset-100-elements-zrange-all-elements|memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements

Full Results table:
Test Case Baseline redis/redis unstable (median obs. +- std.dev) Comparison redis/redis ShooterIT:io-thread-free (median obs. +- std.dev) % change (higher-better) Note
memtier_benchmark-100Kkeys-hash-hgetall-50-fields-100B-values 169997.0 168547 +- 0.5% (4 datapoints) -0.9% No Change
memtier_benchmark-100Kkeys-load-hash-20-fields-with-1B-values-pipeline-30 36243.0 36089 +- 0.4% (4 datapoints) -0.4% No Change
memtier_benchmark-100Kkeys-load-hash-50-fields-with-1000B-values 19070.0 19062 +- 0.3% (4 datapoints) -0.0% No Change
memtier_benchmark-100Kkeys-load-hash-50-fields-with-100B-values 47103.0 46889 +- 0.3% (4 datapoints) -0.5% No Change
memtier_benchmark-100Kkeys-load-hash-50-fields-with-10B-values 36267.0 35885 +- 0.4% (4 datapoints) -1.1% No Change
memtier_benchmark-10Kkeys-load-hash-50-fields-with-10000B-values 2909.0 2909 +- 0.5% (4 datapoints) 0.0% No Change
memtier_benchmark-10Kkeys-load-list-with-10B-values-pipeline-50 960329.0 968402 +- 0.4% (3 datapoints) 0.8% No Change
memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values 106768.0 105471 +- 0.5% (4 datapoints) -1.2% No Change
memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values-pipeline-10 322838.0 323123 +- 0.2% (4 datapoints) 0.1% No Change
memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values 120725.0 120307 +- 0.3% (4 datapoints) -0.3% No Change
memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values-pipeline-10 405100.0 400168 +- 0.2% (4 datapoints) -1.2% No Change
memtier_benchmark-10Mkeys-string-get-10B-pipeline-100-nokeyprefix 2530838.0 2541167 +- 0.2% (3 datapoints) 0.4% No Change
memtier_benchmark-1Mkeys-100B-expire-use-case 175923.0 174547 +- 0.3% (3 datapoints) -0.8% No Change
memtier_benchmark-1Mkeys-10B-expire-use-case 174344.0 173801 +- 0.4% (3 datapoints) -0.3% No Change
memtier_benchmark-1Mkeys-10B-psetex-expire-use-case 165873.0 163961 +- 0.8% (3 datapoints) -1.2% No Change
memtier_benchmark-1Mkeys-10B-setex-expire-use-case 165864.0 163970 +- 0.3% (3 datapoints) -1.1% No Change
memtier_benchmark-1Mkeys-1KiB-expire-use-case 171715.0 172339 +- 0.6% (3 datapoints) 0.4% No Change
memtier_benchmark-1Mkeys-4KiB-expire-use-case 164539.0 164547 +- 0.6% (3 datapoints) 0.0% No Change
memtier_benchmark-1Mkeys-bitmap-getbit-pipeline-10 968339.0 985654 +- 2.6% (3 datapoints) 1.8% No Change
memtier_benchmark-1Mkeys-generic-exists-pipeline-10 1036978.0 1041846 +- 0.0% (3 datapoints) 0.5% No Change
memtier_benchmark-1Mkeys-generic-expire-pipeline-10 947280.0 955167 +- 0.3% (3 datapoints) 0.8% No Change
memtier_benchmark-1Mkeys-generic-expireat-pipeline-10 929862.0 932767 +- 0.7% (3 datapoints) 0.3% No Change
memtier_benchmark-1Mkeys-generic-pexpire-pipeline-10 939199.0 945873 +- 0.6% (4 datapoints) 0.7% No Change
memtier_benchmark-1Mkeys-generic-scan-pipeline-10 476135.0 468950 +- 5.4% (4 datapoints) -1.5% No Change
memtier_benchmark-1Mkeys-generic-touch-pipeline-10 1037835.0 1043834 +- 0.5% (4 datapoints) 0.6% No Change
memtier_benchmark-1Mkeys-generic-ttl-pipeline-10 1015090.0 1026512 +- 0.2% (3 datapoints) 1.1% No Change
memtier_benchmark-1Mkeys-hash-hexists 163043.0 163477 +- 0.5% (4 datapoints) 0.3% No Change
memtier_benchmark-1Mkeys-hash-hget-hgetall-hkeys-hvals-with-100B-values 183110.0 180412 +- 0.5% (4 datapoints) -1.5% No Change
memtier_benchmark-1Mkeys-hash-hgetall-50-fields-10B-values 177478.0 175726 +- 0.5% (4 datapoints) -1.0% No Change
memtier_benchmark-1Mkeys-hash-hincrby 180643.0 178909 +- 0.9% (3 datapoints) -1.0% No Change
memtier_benchmark-1Mkeys-hash-hincrbyfloat 158883.0 158543 +- 1.4% (3 datapoints) -0.2% No Change
memtier_benchmark-1Mkeys-hash-hmget-5-fields-with-100B-values-pipeline-10 698805.0 705207 +- 1.0% (4 datapoints) 0.9% No Change
memtier_benchmark-1Mkeys-hash-transactions-multi-exec-pipeline-20 1033066.0 1040126 +- 0.6% (4 datapoints) 0.7% No Change
memtier_benchmark-1Mkeys-list-lpop-rpop-with-100B-values 180380.0 181717 +- 0.6% (4 datapoints) 0.7% No Change
memtier_benchmark-1Mkeys-list-lpop-rpop-with-10B-values 184464.0 183532 +- 1.0% (4 datapoints) -0.5% No Change
memtier_benchmark-1Mkeys-list-lpop-rpop-with-1KiB-values 181216.0 180833 +- 1.9% (4 datapoints) -0.2% No Change
memtier_benchmark-1Mkeys-list-rpoplpush-with-10B-values 181304.0 180734 +- 1.7% (4 datapoints) -0.3% No Change
memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values 98539.0 96851 +- 0.3% (4 datapoints) -1.7% No Change
memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10 160951.0 161418 +- 0.8% (4 datapoints) 0.3% No Change
memtier_benchmark-1Mkeys-load-hash-hmset-5-fields-with-1000B-values 109689.0 108474 +- 0.7% (3 datapoints) -1.1% No Change
memtier_benchmark-1Mkeys-load-list-rpush-with-10B-values 167822.0 166678 +- 1.0% (3 datapoints) -0.7% No Change
memtier_benchmark-1Mkeys-load-list-with-100B-values 152191.0 149649 +- 0.8% (3 datapoints) -1.7% No Change
memtier_benchmark-1Mkeys-load-list-with-10B-values 168135.0 164217 +- 1.3% (3 datapoints) -2.3% No Change
memtier_benchmark-1Mkeys-load-list-with-10B-values-pipeline-10 665429.0 697225 +- 1.5% (3 datapoints) 4.8% potential IMPROVEMENT
memtier_benchmark-1Mkeys-load-list-with-1KiB-values 113421.0 113386 +- 0.8% (3 datapoints) -0.0% No Change
memtier_benchmark-1Mkeys-load-set-intset-with-100-elements 66672.0 67557 +- 0.5% (3 datapoints) 1.3% No Change
memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-pipeline-10 102019.0 107155 +- 0.1% (3 datapoints) 5.0% potential IMPROVEMENT
memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values 132873.0 130762 +- 0.5% (4 datapoints) -1.6% No Change
memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values-pipeline-10 362472.0 367689 +- 1.5% (4 datapoints) 1.4% No Change
memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values 104847.0 105437 +- 0.7% (4 datapoints) 0.6% No Change
memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values-pipeline-10 221261.0 220424 +- 1.0% (4 datapoints) -0.4% No Change
memtier_benchmark-1Mkeys-load-string-with-100B-values 173549.0 170130 +- 0.7% (3 datapoints) -2.0% No Change
memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10 728395.0 723012 +- 1.0% (3 datapoints) -0.7% No Change
memtier_benchmark-1Mkeys-load-string-with-10B-values 176085.0 173599 +- 0.4% (3 datapoints) -1.4% No Change
memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10 838025.0 831590 +- 3.1% (3 datapoints) -0.8% No Change
memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-100 1282340.0 1281048 +- 1.2% (3 datapoints) -0.1% No Change
memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-100-nokeyprefix 1445860.0 1457012 +- 0.5% (3 datapoints) 0.8% No Change
memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-50 1162781.0 1137143 +- 4.6% (3 datapoints) -2.2% No Change
memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-500 1299453.0 1308562 +- 4.7% (3 datapoints) 0.7% No Change
memtier_benchmark-1Mkeys-load-string-with-1KiB-values 162706.0 161246 +- 0.5% (3 datapoints) -0.9% No Change
memtier_benchmark-1Mkeys-load-string-with-20KiB-values 65328.0 64798 +- 0.3% (3 datapoints) -0.8% No Change
memtier_benchmark-1Mkeys-load-zset-listpack-with-100-elements-double-score 2936.0 1637 +- 0.3% (3 datapoints) -44.2% REGRESSION
memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score 107237.0 91156 +- 0.1% (3 datapoints) -15.0% REGRESSION
memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score 120313.0 113634 +- 0.3% (3 datapoints) -5.6% potential REGRESSION
memtier_benchmark-1Mkeys-string-append-1-100B 153686.0 153229 +- 0.3% (4 datapoints) -0.3% No Change
memtier_benchmark-1Mkeys-string-append-1-100B-pipeline-10 748687.0 745921 +- 3.1% (4 datapoints) -0.4% No Change
memtier_benchmark-1Mkeys-string-decr 162214.0 162442 +- 0.5% (4 datapoints) 0.1% No Change
memtier_benchmark-1Mkeys-string-get-100B 163634.0 163882 +- 0.2% (4 datapoints) 0.2% No Change
memtier_benchmark-1Mkeys-string-get-100B-pipeline-10 948569.0 952901 +- 0.2% (4 datapoints) 0.5% No Change
memtier_benchmark-1Mkeys-string-get-10B 168582.0 166252 +- 1.0% (3 datapoints) -1.4% No Change
memtier_benchmark-1Mkeys-string-get-10B-pipeline-10 944262.0 948489 +- 0.4% (3 datapoints) 0.4% No Change
memtier_benchmark-1Mkeys-string-get-10B-pipeline-100 1784038.0 1820590 +- 0.8% (3 datapoints) 2.0% No Change
memtier_benchmark-1Mkeys-string-get-10B-pipeline-100-nokeyprefix 2539805.0 2541146 +- 0.1% (3 datapoints) 0.1% No Change
memtier_benchmark-1Mkeys-string-get-10B-pipeline-50 1639206.0 1641503 +- 0.6% (3 datapoints) 0.1% No Change
memtier_benchmark-1Mkeys-string-get-10B-pipeline-500 1912411.0 1949710 +- 1.2% (3 datapoints) 2.0% No Change
memtier_benchmark-1Mkeys-string-get-1KiB 163740.0 163058 +- 0.1% (3 datapoints) -0.4% No Change
memtier_benchmark-1Mkeys-string-get-1KiB-pipeline-10 917823.0 926607 +- 0.8% (3 datapoints) 1.0% No Change
memtier_benchmark-1Mkeys-string-incr-pipeline-10 991863.0 992763 +- 0.7% (3 datapoints) 0.1% No Change
memtier_benchmark-1Mkeys-string-incrby 176761.0 179307 +- 0.8% (3 datapoints) 1.4% No Change
memtier_benchmark-1Mkeys-string-incrby-pipeline-10 932225.0 938946 +- 0.8% (3 datapoints) 0.7% No Change
memtier_benchmark-1Mkeys-string-incrbyfloat 154036.0 150537 +- 1.3% (3 datapoints) -2.3% No Change
memtier_benchmark-1Mkeys-string-incrbyfloat-pipeline-10 467432.0 457366 +- 0.7% (3 datapoints) -2.2% No Change
memtier_benchmark-1Mkeys-string-int-encoding-strlen-pipeline-10 1041431.0 1049392 +- 0.2% (4 datapoints) 0.8% No Change
memtier_benchmark-1Mkeys-string-mget-1KiB 121073.0 122348 +- 1.0% (3 datapoints) 1.1% No Change
memtier_benchmark-1Mkeys-string-set-with-ex-100B-pipeline-10 569178.0 569719 +- 1.3% (3 datapoints) 0.1% No Change
memtier_benchmark-1Mkeys-string-setex-100B-pipeline-10 565978.0 603488 +- 0.5% (3 datapoints) 6.6% potential IMPROVEMENT
memtier_benchmark-1Mkeys-string-setrange-100B 154768.0 154901 +- 0.4% (3 datapoints) 0.1% No Change
memtier_benchmark-1Mkeys-string-setrange-100B-pipeline-10 785564.0 786396 +- 0.3% (3 datapoints) 0.1% No Change
memtier_benchmark-1key-100M-bits-bitmap-bitcount 20891.0 20879 +- 0.0% (3 datapoints) -0.1% No Change
memtier_benchmark-1key-1Billion-bits-bitmap-bitcount 1414.0 1422 +- 2.3% (3 datapoints) 0.5% No Change
memtier_benchmark-1key-geo-2-elements-geopos 159506.0 158615 +- 0.8% (4 datapoints) -0.6% No Change
memtier_benchmark-1key-geo-2-elements-geosearch-fromlonlat-withcoord 98009.0 95545 +- 0.1% (4 datapoints) -2.5% No Change
memtier_benchmark-1key-geo-60M-elements-geodist 182037.0 183188 +- 1.4% (4 datapoints) 0.6% No Change
memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10 1094917.0 1104790 +- 0.6% (4 datapoints) 0.9% No Change
memtier_benchmark-1key-geo-60M-elements-geohash 185341.0 185104 +- 0.5% (4 datapoints) -0.1% No Change
memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10 1172005.0 1175849 +- 0.7% (4 datapoints) 0.3% No Change
memtier_benchmark-1key-geo-60M-elements-geopos 185449.0 186477 +- 0.6% (4 datapoints) 0.6% No Change
memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10 1172006.0 1180597 +- 0.1% (4 datapoints) 0.7% No Change
memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat 143610.0 139601 +- 0.3% (4 datapoints) -2.8% No Change
memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-bybox 141594.0 136688 +- 0.4% (4 datapoints) -3.5% potential REGRESSION
memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10 592342.0 545811 +- 1.0% (4 datapoints) -7.9% potential REGRESSION
memtier_benchmark-1key-hash-1K-fields-hgetall 8649.0 8335 +- 0.9% (3 datapoints) -3.6% potential REGRESSION
memtier_benchmark-1key-hash-1K-fields-hgetall-pipeline-10 8362.0 8074 +- 0.3% (3 datapoints) -3.4% potential REGRESSION
memtier_benchmark-1key-hash-hscan-50-fields-10B-values 100150.0 97441 +- 0.1% (4 datapoints) -2.7% No Change
memtier_benchmark-1key-list-10-elements-lrange-all-elements 170374.0 169143 +- 0.2% (3 datapoints) -0.7% No Change
memtier_benchmark-1key-list-10-elements-lrange-all-elements-pipeline-10 682740.0 684252 +- 0.1% (3 datapoints) 0.2% No Change
memtier_benchmark-1key-list-100-elements-int-7bit-uint-lrange-all-elements-pipeline-10 173710.0 169848 +- 0.2% (3 datapoints) -2.2% No Change
memtier_benchmark-1key-list-100-elements-int-lrange-all-elements-pipeline-10 132931.0 129418 +- 0.1% (3 datapoints) -2.6% No Change
memtier_benchmark-1key-list-100-elements-llen-pipeline-10 1134017.0 1137480 +- 0.3% (3 datapoints) 0.3% No Change
memtier_benchmark-1key-list-100-elements-lrange-all-elements 106001.0 103824 +- 0.1% (3 datapoints) -2.1% No Change
memtier_benchmark-1key-list-100-elements-lrange-all-elements-pipeline-10 173194.0 167837 +- 0.7% (3 datapoints) -3.1% potential REGRESSION
memtier_benchmark-1key-list-10K-elements-lindex-integer 149879.0 147806 +- 0.4% (3 datapoints) -1.4% No Change
memtier_benchmark-1key-list-10K-elements-lindex-string 127095.0 126244 +- 0.5% (3 datapoints) -0.7% No Change
memtier_benchmark-1key-list-10K-elements-lindex-string-pipeline-10 291390.0 281786 +- 0.1% (3 datapoints) -3.3% potential REGRESSION
memtier_benchmark-1key-list-10K-elements-linsert-lrem-integer 6611.0 6428 +- 0.2% (3 datapoints) -2.8% No Change
memtier_benchmark-1key-list-10K-elements-linsert-lrem-string 8448.0 8595 +- 0.1% (3 datapoints) 1.7% No Change
memtier_benchmark-1key-list-10K-elements-lpos-integer 6537.0 6327 +- 0.4% (3 datapoints) -3.2% potential REGRESSION
memtier_benchmark-1key-list-10K-elements-lpos-string 8142.0 8133 +- 0.1% (3 datapoints) -0.1% No Change
memtier_benchmark-1key-list-1K-elements-lrange-all-elements 18064.0 17390 +- 0.1% (3 datapoints) -3.7% potential REGRESSION
memtier_benchmark-1key-list-1K-elements-lrange-all-elements-pipeline-10 17647.0 17210 +- 1.1% (3 datapoints) -2.5% No Change
memtier_benchmark-1key-list-2K-elements-quicklist-lrange-all-elements-longs 7152.0 6853 +- 0.0% (3 datapoints) -4.2% potential REGRESSION
memtier_benchmark-1key-load-hash-1K-fields-with-5B-values 4310.0 4369 +- 0.4% (3 datapoints) 1.4% No Change
memtier_benchmark-1key-load-zset-with-5-elements-parsing-float-score 150732.0 134338 +- 1.8% (3 datapoints) -10.9% REGRESSION
memtier_benchmark-1key-load-zset-with-5-elements-parsing-hexa-score 128117.0 117893 +- 0.3% (3 datapoints) -8.0% potential REGRESSION
memtier_benchmark-1key-pfadd-4KB-values-pipeline-10 268682.0 265122 +- 0.6% (4 datapoints) -1.3% No Change
memtier_benchmark-1key-set-10-elements-smembers 169643.0 170688 +- 0.8% (3 datapoints) 0.6% No Change
memtier_benchmark-1key-set-10-elements-smembers-pipeline-10 698455.0 694460 +- 0.2% (3 datapoints) -0.6% No Change
memtier_benchmark-1key-set-10-elements-smismember 177204.0 177634 +- 1.9% (4 datapoints) 0.2% No Change
memtier_benchmark-1key-set-100-elements-sismember-is-a-member 155846.0 155565 +- 0.4% (3 datapoints) -0.2% No Change
memtier_benchmark-1key-set-100-elements-sismember-not-a-member 151905.0 151618 +- 0.2% (3 datapoints) -0.2% No Change
memtier_benchmark-1key-set-100-elements-smembers 99860.0 97725 +- 0.1% (3 datapoints) -2.1% No Change
memtier_benchmark-1key-set-100-elements-smismember 160644.0 162926 +- 0.2% (4 datapoints) 1.4% No Change
memtier_benchmark-1key-set-100-elements-sscan 97379.0 95424 +- 0.2% (3 datapoints) -2.0% No Change
memtier_benchmark-1key-set-10M-elements-sismember-50pct-chance 157597.0 156576 +- 0.4% (3 datapoints) -0.6% No Change
memtier_benchmark-1key-set-10M-elements-srem-50pct-chance 156535.0 157914 +- 0.4% (3 datapoints) 0.9% No Change
memtier_benchmark-1key-set-1K-elements-smembers 15700.0 15711 +- 0.4% (3 datapoints) 0.1% No Change
memtier_benchmark-1key-set-1M-elements-sismember-50pct-chance 158948.0 158924 +- 0.2% (3 datapoints) -0.0% No Change
memtier_benchmark-1key-set-200K-elements-sadd-constant 180234.0 181153 +- 1.4% (3 datapoints) 0.5% No Change
memtier_benchmark-1key-set-2M-elements-sadd-increasing 162285.0 162358 +- 0.9% (3 datapoints) 0.0% No Change
memtier_benchmark-1key-zincrby-1M-elements-pipeline-1 42659.0 42846 +- 0.4% (4 datapoints) 0.4% No Change
memtier_benchmark-1key-zrank-100K-elements-pipeline-1 46437.0 47024 +- 0.4% (4 datapoints) 1.3% No Change
memtier_benchmark-1key-zrank-10M-elements-pipeline-1 43277.0 43579 +- 0.4% (4 datapoints) 0.7% No Change
memtier_benchmark-1key-zrank-1M-elements-pipeline-1 45743.0 45457 +- 0.8% (4 datapoints) -0.6% No Change
memtier_benchmark-1key-zrem-5M-elements-pipeline-1 45774.0 45456 +- 0.3% (3 datapoints) -0.7% No Change
memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-1 97036.0 96589 +- 0.3% (3 datapoints) -0.5% No Change
memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-10 154534.0 150834 +- 0.8% (3 datapoints) -2.4% No Change
memtier_benchmark-1key-zrevrank-1M-elements-pipeline-1 45528.0 45543 +- 0.9% (4 datapoints) 0.0% No Change
memtier_benchmark-1key-zset-10-elements-zrange-all-elements 92891.0 85220 +- 0.2% (4 datapoints) -8.3% potential REGRESSION
memtier_benchmark-1key-zset-10-elements-zrange-all-elements-long-scores 122264.0 120789 +- 0.5% (4 datapoints) -1.2% No Change
memtier_benchmark-1key-zset-100-elements-zrange-all-elements 23543.0 19994 +- 0.1% (4 datapoints) -15.1% REGRESSION
memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements 23154.0 19690 +- 0.3% (3 datapoints) -15.0% REGRESSION
memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements-long-scores 52759.0 50682 +- 0.6% (3 datapoints) -3.9% potential REGRESSION
memtier_benchmark-1key-zset-100-elements-zscan 69251.0 66097 +- 0.0% (4 datapoints) -4.6% potential REGRESSION
memtier_benchmark-1key-zset-1K-elements-zrange-all-elements 3717.0 3662 +- 0.3% (4 datapoints) -1.5% No Change
memtier_benchmark-1key-zset-1M-elements-zcard-pipeline-10 1038852.0 1043178 +- 0.3% (3 datapoints) 0.4% No Change
memtier_benchmark-1key-zset-1M-elements-zremrangebyscore-pipeline-10 343060.0 348352 +- 0.7% (3 datapoints) 1.5% No Change
memtier_benchmark-1key-zset-1M-elements-zrevrange-5-elements 152132.0 150275 +- 1.3% (3 datapoints) -1.2% No Change
memtier_benchmark-1key-zset-1M-elements-zrevrange-withscores-5-elements-pipeline-10 562356.0 577558 +- 1.6% (3 datapoints) 2.7% No Change
memtier_benchmark-1key-zset-1M-elements-zscore-pipeline-10 966929.0 971575 +- 0.6% (3 datapoints) 0.5% No Change
memtier_benchmark-1key-zset-600K-elements-zrangestore-1K-elements 2265.0 2272 +- 0.8% (3 datapoints) 0.3% No Change
memtier_benchmark-1key-zset-600K-elements-zrangestore-300K-elements 6.5 6.5 +- 0.2% (3 datapoints) -0.2% No Change
memtier_benchmark-2keys-lua-eval-hset-expire 87687.0 87299 +- 1.1% (3 datapoints) -0.4% No Change
memtier_benchmark-2keys-lua-evalsha-hset-expire 103496.0 102305 +- 0.5% (3 datapoints) -1.2% No Change
memtier_benchmark-2keys-set-10-100-elements-sdiff 27787.0 26887 +- 0.5% (4 datapoints) -3.2% potential REGRESSION
memtier_benchmark-2keys-set-10-100-elements-sinter 91036.0 88235 +- 0.2% (4 datapoints) -3.1% potential REGRESSION
memtier_benchmark-2keys-set-10-100-elements-sunion 36871.0 35253 +- 0.7% (4 datapoints) -4.4% potential REGRESSION
memtier_benchmark-2keys-stream-5-entries-xread-all-entries 78336.0 77621 +- 0.3% (4 datapoints) -0.9% No Change
memtier_benchmark-2keys-stream-5-entries-xread-all-entries-pipeline-10 128026.0 123186 +- 0.7% (4 datapoints) -3.8% potential REGRESSION
memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunion 3561.0 3529 +- 1.0% (4 datapoints) -0.9% No Change
memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunionstore 4168.0 4163 +- 0.3% (4 datapoints) -0.1% No Change
memtier_benchmark-3Mkeys-load-string-with-512B-values 172619.0 168949 +- 3.8% (7 datapoints) -2.1% No Change
memtier_benchmark-3Mkeys-load-string-with-512B-values-pipeline-10 680578.0 679583 +- 8.8% (7 datapoints) -0.1% No Change
memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-2000_conns 146660.0 147733 +- 0.9% (3 datapoints) 0.7% No Change
memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-400_conns 165537.0 164618 +- 2.5% (7 datapoints) -0.6% No Change
memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-40_conns 151209.0 150576 +- 0.3% (3 datapoints) -0.4% No Change
memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-2000_conns 151179.0 150139 +- 1.0% (3 datapoints) -0.7% No Change
memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-400_conns 170121.0 169723 +- 2.7% (7 datapoints) -0.2% No Change
memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-5200_conns 97573.0 97604 +- 0.0% (3 datapoints) 0.0% No Change
memtier_benchmark-connection-hello 143173.0 143354 +- 0.3% (3 datapoints) 0.1% No Change
memtier_benchmark-connection-hello-pipeline-10 506225.0 503671 +- 0.2% (3 datapoints) -0.5% No Change
memtier_benchmark-nokeys-connection-ping-pipeline-10 1355854.0 1362796 +- 0.1% (3 datapoints) 0.5% No Change
memtier_benchmark-nokeys-pubsub-publish-1K-channels-10B-no-subscribers 991316.0 1021098 +- 0.5% (3 datapoints) 3.0% potential IMPROVEMENT
memtier_benchmark-nokeys-server-time-pipeline-10 1187386.0 1185480 +- 0.3% (3 datapoints) -0.2% No Change

WARNING: There were 150 benchmarks with NO datapoints for both baseline and comparison.

NO datapoints for both baseline and comparison:

NO DATAPOINTS test regexp names: latency-rate-limited-10000_qps-memtier_benchmark-100Kkeys-hash-hgetall-50-fields-100B-values|latency-rate-limited-10000_qps-memtier_benchmark-100Kkeys-load-hash-50-fields-with-1000B-values|latency-rate-limited-10000_qps-memtier_benchmark-100Kkeys-load-hash-50-fields-with-100B-values|latency-rate-limited-10000_qps-memtier_benchmark-100Kkeys-load-hash-50-fields-with-10B-values|latency-rate-limited-10000_qps-memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values|latency-rate-limited-10000_qps-memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values|latency-rate-limited-10000_qps-memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-100B-expire-use-case|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-10B-expire-use-case|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-1KiB-expire-use-case|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-4KiB-expire-use-case|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-bitmap-getbit-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-generic-exists-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-generic-expire-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-generic-expireat-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-generic-pexpire-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-generic-scan-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-generic-touch-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-generic-ttl-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-hash-hexists|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-hash-hget-hgetall-hkeys-hvals-with-100B-values|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-hash-hgetall-50-fields-10B-values|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-hash-hincrby|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-hash-hmget-5-fields-with-100B-values-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-hash-transactions-multi-exec-pipeline-20|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-list-lpop-rpop-with-100B-values|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-list-lpop-rpop-with-10B-values|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-list-lpop-rpop-with-1KiB-values|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-hash-hmset-5-fields-with-1000B-values|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-list-with-100B-values|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-list-with-10B-values|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-list-with-1KiB-values|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-set-intset-with-100-elements|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-100B-values|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-10B-values|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-1KiB-values|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-20KiB-values|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-append-1-100B|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-append-1-100B-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-decr|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-100B|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-100B-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-10B|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-10B-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-1KiB|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-1KiB-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-20KiB|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-incrby|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-incrby-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-incrbyfloat|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-incrbyfloat-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-mget-1KiB|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-setex-100B-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-setrange-100B|latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-setrange-100B-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-2-elements-geopos|latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-2-elements-geosearch-fromlonlat-withcoord|latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geodist|latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geohash|latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geopos|latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat|latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-bybox|latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1key-hash-hscan-50-fields-10B-values|latency-rate-limited-10000_qps-memtier_benchmark-1key-list-10-elements-lrange-all-elements|latency-rate-limited-10000_qps-memtier_benchmark-1key-list-10-elements-lrange-all-elements-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1key-list-100-elements-lrange-all-elements|latency-rate-limited-10000_qps-memtier_benchmark-1key-list-100-elements-lrange-all-elements-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1key-list-10K-elements-lindex-integer|latency-rate-limited-10000_qps-memtier_benchmark-1key-list-10K-elements-lindex-string|latency-rate-limited-10000_qps-memtier_benchmark-1key-list-1K-elements-lrange-all-elements|latency-rate-limited-10000_qps-memtier_benchmark-1key-list-1K-elements-lrange-all-elements-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1key-pfadd-4KB-values-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1key-set-10-elements-smembers|latency-rate-limited-10000_qps-memtier_benchmark-1key-set-10-elements-smembers-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1key-set-10-elements-smismember|latency-rate-limited-10000_qps-memtier_benchmark-1key-set-100-elements-sismember-is-a-member|latency-rate-limited-10000_qps-memtier_benchmark-1key-set-100-elements-sismember-not-a-member|latency-rate-limited-10000_qps-memtier_benchmark-1key-set-100-elements-smembers|latency-rate-limited-10000_qps-memtier_benchmark-1key-set-100-elements-smismember|latency-rate-limited-10000_qps-memtier_benchmark-1key-set-100-elements-sscan|latency-rate-limited-10000_qps-memtier_benchmark-1key-set-10M-elements-sismember-50pct-chance|latency-rate-limited-10000_qps-memtier_benchmark-1key-set-1K-elements-smembers|latency-rate-limited-10000_qps-memtier_benchmark-1key-set-1M-elements-sismember-50pct-chance|latency-rate-limited-10000_qps-memtier_benchmark-1key-set-200K-elements-sadd-constant|latency-rate-limited-10000_qps-memtier_benchmark-1key-set-2M-elements-sadd-increasing|latency-rate-limited-10000_qps-memtier_benchmark-1key-zincrby-1M-elements-pipeline-1|latency-rate-limited-10000_qps-memtier_benchmark-1key-zrank-1M-elements-pipeline-1|latency-rate-limited-10000_qps-memtier_benchmark-1key-zrem-5M-elements-pipeline-1|latency-rate-limited-10000_qps-memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-1|latency-rate-limited-10000_qps-memtier_benchmark-1key-zrevrank-1M-elements-pipeline-1|latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-10-elements-zrange-all-elements|latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-10-elements-zrange-all-elements-long-scores|latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-100-elements-zrange-all-elements|latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements|latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements-long-scores|latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-100-elements-zscan|latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-1M-elements-zcard-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-1M-elements-zrevrange-5-elements|latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-1M-elements-zscore-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-2keys-lua-eval-hset-expire|latency-rate-limited-10000_qps-memtier_benchmark-2keys-lua-evalsha-hset-expire|latency-rate-limited-10000_qps-memtier_benchmark-2keys-set-10-100-elements-sdiff|latency-rate-limited-10000_qps-memtier_benchmark-2keys-set-10-100-elements-sinter|latency-rate-limited-10000_qps-memtier_benchmark-2keys-set-10-100-elements-sunion|latency-rate-limited-10000_qps-memtier_benchmark-2keys-stream-5-entries-xread-all-entries|latency-rate-limited-10000_qps-memtier_benchmark-2keys-stream-5-entries-xread-all-entries-pipeline-10|latency-rate-limited-10000_qps-memtier_benchmark-3Mkeys-load-string-with-512B-values|latency-rate-limited-10000_qps-memtier_benchmark-connection-hello|latency-rate-limited-1000_qps-memtier_benchmark-10Kkeys-load-hash-50-fields-with-10000B-values|latency-rate-limited-1000_qps-memtier_benchmark-1Mkeys-load-zset-listpack-with-100-elements-double-score|latency-rate-limited-1000_qps-memtier_benchmark-1key-100M-bits-bitmap-bitcount|latency-rate-limited-1000_qps-memtier_benchmark-1key-list-10K-elements-linsert-lrem-integer|latency-rate-limited-1000_qps-memtier_benchmark-1key-list-10K-elements-linsert-lrem-string|latency-rate-limited-1000_qps-memtier_benchmark-1key-list-10K-elements-lpos-integer|latency-rate-limited-1000_qps-memtier_benchmark-1key-list-10K-elements-lpos-string|latency-rate-limited-1000_qps-memtier_benchmark-1key-list-2K-elements-quicklist-lrange-all-elements-longs|latency-rate-limited-1000_qps-memtier_benchmark-1key-zset-1K-elements-zrange-all-elements|latency-rate-limited-1000_qps-memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunion|latency-rate-limited-1000_qps-memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunionstore|latency-rate-limited-100_qps-memtier_benchmark-1key-1Billion-bits-bitmap-bitcount|memtier_benchmark-10Mkeys-load-hash-5-fields-with-1000B-values|memtier_benchmark-10Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10|memtier_benchmark-1Mkeys-lhash-hexists|memtier_benchmark-1Mkeys-lhash-hincbry|memtier_benchmark-1Mkeys-load-string-with-200KiB-values|memtier_benchmark-1Mkeys-load-string-with-2MB-values|memtier_benchmark-1Mkeys-string-get-200KiB|memtier_benchmark-1Mkeys-string-get-20KiB|memtier_benchmark-1Mkeys-string-get-2MB|redis-benchmark-full-suite-1Mkeys-100B|redis-benchmark-full-suite-1Mkeys-100B-pipeline-10|redis-benchmark-full-suite-1Mkeys-1KiB|redis-benchmark-full-suite-1Mkeys-1KiB-pipeline-10|vector_db_benchmark_test

@ShooterIT ShooterIT requested a review from oranagra May 16, 2025 06:25
@ShooterIT ShooterIT changed the title Let IO threads to free argv and rewrite objects Let IO threads free argv and rewrite objects May 16, 2025
@ShooterIT

Copy link
Copy Markdown
Member Author

To make the optimizations effective, we must merge both #13968 and #14017 at the same time.
Without #13968, arena contention during memory release would mask the performance improvement brought by #14017.
Similarly, without #14017, accessing key size of old objects would cause memory access latency, also diminishing the overall effect.

Here is a record of test results. The machine is m7i.2xlarge, the test command:

memtier_benchmark --ratio 1:0/0:1 -c 20 -t 16 --hide-histogram -d 1000 --key-minimum 1 --key-maximum 3000000 -s <ip> --distinct-client-seed --test-time 60
scenario unstable merge #13968 & #14017
write 386107.06 570700.79
read 425431.19 541029.89

Comment thread src/db.c Outdated
@snyk-io

snyk-io Bot commented May 20, 2025

Copy link
Copy Markdown

🎉 Snyk checks have passed. No issues have been found so far.

security/snyk check is complete. No issues have been found. (View Details)

license/snyk check is complete. No issues have been found. (View Details)

@sundb sundb left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just a minor naming

Comment thread src/networking.c Outdated
@ShooterIT ShooterIT requested a review from sundb May 22, 2025 03:54
Comment thread src/iothread.c
@ShooterIT ShooterIT merged commit 99d3065 into redis:unstable May 23, 2025
18 checks passed
@ShooterIT ShooterIT deleted the io-thread-free branch May 23, 2025 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action:run-benchmark Triggers the benchmark suite for this Pull Request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants