#13946·Redis

[BUG]HDEL Command Performance Degradation After Commit c33c91d

Author: JinzeSiCreated Apr 15, 2025Updated Sep 17, 2026

Describe the bug

I have recently done some performance research on the redis code. Finding a noticeable performance degradation has been observed in the HDEL command after the introduction of commit c33c91d. Benchmark results indicate that the performance of HDEL has worsened

To reproduce

  1. Use the following command to benchmark the performance of HDEL:
taskset -c 15 memtier_benchmark \
      --pipeline 1 \
      --command "HDEL test_HGET HGET_HASH_FIELD157 HGET_HASH_FIELD3 HGET_HASH_FIELD55 HGET_HASH_FIELD98 HGET_HASH_FIELD2 erwbvirebre 3id23ifb2 23rb2j4bgfj24b HGET_HASH_FIELD34" \
      --test-time 30 \
      -c 1 \
      -t 1
  1. Compare the benchmark results before and after applying commit c33c91d: before
ALL STATS
===============================================
Type         Ops/sec      Latency       KB/sec 
-----------------------------------------------
Hdels       52415.92      0.01800     11824.29 
Totals      52415.92      0.01800     11824.29 

after

ALL STATS
===============================================
Type         Ops/sec      Latency       KB/sec 
-----------------------------------------------
Hdels       50008.47      0.01900     11281.21 
Totals      50008.47      0.01900     11281.21 

Steps to reproduce the behavior and/or a minimal code sample. just use memtier_benchmark

Expected behavior

c33c91d is used to support HSET+expire in one command. So it should not make HDEL performance degrade

Additional information

This is the script we use to prepare the [data]

prepareData.py.zip