Skip to content

Fix string2d usage in case of hexadecimal strings parsing and overflow#13845

Merged
sundb merged 6 commits into
redis:unstablefrom
filipecosta90:fix.string2d
Mar 19, 2025
Merged

Fix string2d usage in case of hexadecimal strings parsing and overflow#13845
sundb merged 6 commits into
redis:unstablefrom
filipecosta90:fix.string2d

Conversation

@fcostaoliveira

@fcostaoliveira fcostaoliveira commented Mar 6, 2025

Copy link
Copy Markdown
Collaborator

Since #11884, what was previously accepted as a valid input (hexadecimal string) before 8.0 returned an error. This PR addresses it. To avoid performance penalties if hints the compiler that the fallbacks are not likely to happen.
Furthermore, we were ignoring std::result_out_of_range outputs from fast_float. This PR addresses it as well and includes tests for both identified scenarios.

Benchmark notes:

  • From the table bellow we can see that the overhead of the extra checks is 0.1% on the common case so the usual cases won be affected. (meaning we still > 10% even on simple ZADD use-cases vs 7.4)
  • I've confirmed that the hexa fallback does not bring a regression vs 7.4.2 - in absolute numbers, even on the fallback use-case we're 4% better on this PR vs 7.4.2.

To benchmark:

pip3 install redis-benchmarks-specification==0.1.262
taskset -c 0 ./src/redis-server --save '' --protected-mode no 
redis-benchmarks-spec-client-runner --tests-regexp ".+zset.*-parsing.*" --flushall_on_every_test_start --flushall_on_every_test_end  --cpuset_start_pos 2 --override-memtier-test-time 30  --benchmark_local_install --override-test-runs 3

Benchmark details:

use-case 7.4.2 8.0 a39ffc1 This PR e4d1ff9 % Improvement vs 7.4.2 % change vs 8.0 a39ffc1
ZADD float 121047 134321 134234 10.9% -0.1%
ZADD hexa 116268 N/A 120973 4.0% N/A
diff hexa vs float -3.9% N/A -9.9%  -  -

@sundb

sundb commented Mar 7, 2025

Copy link
Copy Markdown
Collaborator

Maybe we can add some unittests to the util.c.

@fcostaoliveira fcostaoliveira requested a review from sundb March 9, 2025 08:16
@fcostaoliveira fcostaoliveira added the action:run-benchmark Triggers the benchmark suite for this Pull Request label Mar 9, 2025
@fcostaoliveira

fcostaoliveira commented Mar 9, 2025

Copy link
Copy Markdown
Collaborator Author

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

This comment was automatically generated given a benchmark was triggered.
Started building at 2025-03-10 11:39:35.671836 and took 65 seconds.
You can check each build/benchmark progress in grafana:

  • git hash: 943645d
  • git branch: filipecosta90:fix.string2d
  • 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 Mar 9, 2025

Copy link
Copy Markdown
Collaborator Author

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

This comment was automatically generated given a benchmark was triggered.

Started benchmark suite at 2025-03-12 17:30:36.369791 and took 56907.13763 seconds up until now.
Status: [########################################################################--------] 90.34% completed.

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

@fcostaoliveira

Copy link
Copy Markdown
Collaborator Author

@sundb:

Comment thread src/util.c
@fcostaoliveira

fcostaoliveira commented Mar 10, 2025

Copy link
Copy Markdown
Collaborator Author

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 176 stable tests between versions.

You can check a comparison in detail via the grafana link

Comparison between unstable and filipecosta90:fix.string2d.

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

Full Results table:
Test Case Baseline redis/redis unstable (median obs. +- std.dev) Comparison redis/redis filipecosta90:fix.string2d (median obs. +- std.dev) % change (higher-better) Note
memtier_benchmark-100Kkeys-hash-hgetall-50-fields-100B-values 179179 176256 +- 0.3% (2 datapoints) -1.6% No Change
memtier_benchmark-100Kkeys-load-hash-20-fields-with-1B-values-pipeline-30 48277 47916 +- 0.4% (3 datapoints) -0.7% No Change
memtier_benchmark-100Kkeys-load-hash-50-fields-with-1000B-values 24107 24168 +- 0.2% (3 datapoints) 0.3% No Change
memtier_benchmark-100Kkeys-load-hash-50-fields-with-100B-values 61662 62048 +- 0.3% (3 datapoints) 0.6% No Change
memtier_benchmark-100Kkeys-load-hash-50-fields-with-10B-values 47721 47946 +- 0.4% (3 datapoints) 0.5% No Change
memtier_benchmark-10Kkeys-load-hash-50-fields-with-10000B-values 3446 3410 +- 1.6% (3 datapoints) -1.0% No Change
memtier_benchmark-10Kkeys-load-list-with-10B-values-pipeline-50 1167353 1163941 +- 0.1% (3 datapoints) -0.3% No Change
memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values 129776 129742 +- 0.3% (3 datapoints) -0.0% No Change
memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values-pipeline-10 427341 429143 0.4% No Change
memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values 145598 146403 +- 0.6% (3 datapoints) 0.6% No Change
memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values-pipeline-10 525737 513232 -2.4% No Change
memtier_benchmark-1Mkeys-100B-expire-use-case 203717 203411 -0.2% No Change
memtier_benchmark-1Mkeys-10B-expire-use-case 207762 205767 +- 1.0% (3 datapoints) -1.0% No Change
memtier_benchmark-1Mkeys-10B-psetex-expire-use-case 199254 196280 +- 0.3% (3 datapoints) -1.5% No Change
memtier_benchmark-1Mkeys-10B-setex-expire-use-case 199024 197034 +- 0.9% (3 datapoints) -1.0% No Change
memtier_benchmark-1Mkeys-1KiB-expire-use-case 203290 202716 +- 0.9% (3 datapoints) -0.3% No Change
memtier_benchmark-1Mkeys-4KiB-expire-use-case 193458 193800 +- 0.4% (3 datapoints) 0.2% No Change
memtier_benchmark-1Mkeys-bitmap-getbit-pipeline-10 1177433 1177949 +- 0.1% (3 datapoints) 0.0% No Change
memtier_benchmark-1Mkeys-generic-exists-pipeline-10 1249109 1256600 +- 1.4% (3 datapoints) 0.6% No Change
memtier_benchmark-1Mkeys-generic-expire-pipeline-10 1093982 1128529 +- 4.0% (3 datapoints) 3.2% potential IMPROVEMENT
memtier_benchmark-1Mkeys-generic-expireat-pipeline-10 1079055 1095158 +- 1.4% (3 datapoints) 1.5% No Change
memtier_benchmark-1Mkeys-generic-pexpire-pipeline-10 1124788 1098523 +- 1.8% (3 datapoints) -2.3% No Change
memtier_benchmark-1Mkeys-generic-scan-pipeline-10 612626 594117 +- 5.1% (3 datapoints) -3.0% potential REGRESSION
memtier_benchmark-1Mkeys-generic-touch-pipeline-10 1247309 1249586 +- 1.1% (3 datapoints) 0.2% No Change
memtier_benchmark-1Mkeys-generic-ttl-pipeline-10 1230367 1231193 +- 0.3% (3 datapoints) 0.1% No Change
memtier_benchmark-1Mkeys-hash-hexists 193910 191581 +- 0.6% (3 datapoints) -1.2% No Change
memtier_benchmark-1Mkeys-hash-hget-hgetall-hkeys-hvals-with-100B-values 194588 192499 +- 0.6% (3 datapoints) -1.1% No Change
memtier_benchmark-1Mkeys-hash-hgetall-50-fields-10B-values 185977 185009 +- 0.2% (3 datapoints) -0.5% No Change
memtier_benchmark-1Mkeys-hash-hincrby 202518 201948 -0.3% No Change
memtier_benchmark-1Mkeys-hash-hincrbyfloat 174301 176146 +- 1.8% (3 datapoints) 1.1% No Change
memtier_benchmark-1Mkeys-hash-hmget-5-fields-with-100B-values-pipeline-10 912335 914530 +- 1.7% (3 datapoints) 0.2% No Change
memtier_benchmark-1Mkeys-hash-transactions-multi-exec-pipeline-20 1304984 1303603 +- 1.7% (3 datapoints) -0.1% No Change
memtier_benchmark-1Mkeys-list-lpop-rpop-with-100B-values 196696 193207 +- 1.0% (3 datapoints) -1.8% No Change
memtier_benchmark-1Mkeys-list-lpop-rpop-with-10B-values 194305 194714 +- 0.4% (3 datapoints) 0.2% No Change
memtier_benchmark-1Mkeys-list-lpop-rpop-with-1KiB-values 193946 192153 +- 0.5% (3 datapoints) -0.9% No Change
memtier_benchmark-1Mkeys-list-rpoplpush-with-10B-values 193541 193360 +- 0.6% (3 datapoints) -0.1% No Change
memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values 117421 117492 +- 0.2% (3 datapoints) 0.1% No Change
memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10 194498 199097 +- 0.8% (3 datapoints) 2.4% No Change
memtier_benchmark-1Mkeys-load-hash-hmset-5-fields-with-1000B-values 117278 116829 +- 0.5% (3 datapoints) -0.4% No Change
memtier_benchmark-1Mkeys-load-list-rpush-with-10B-values 172676 172988 +- 0.3% (3 datapoints) 0.2% No Change
memtier_benchmark-1Mkeys-load-list-with-100B-values 156656 157722 +- 0.8% (3 datapoints) 0.7% No Change
memtier_benchmark-1Mkeys-load-list-with-10B-values 173656 173018 +- 0.2% (3 datapoints) -0.4% No Change
memtier_benchmark-1Mkeys-load-list-with-10B-values-pipeline-10 761694 758198 +- 1.0% (3 datapoints) -0.5% No Change
memtier_benchmark-1Mkeys-load-list-with-1KiB-values 119860 120526 0.6% No Change
memtier_benchmark-1Mkeys-load-set-intset-with-100-elements 80403 80474 +- 0.2% (3 datapoints) 0.1% No Change
memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-pipeline-10 141165 142651 +- 1.0% (3 datapoints) 1.1% No Change
memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values 137143 135972 -0.9% No Change
memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values-pipeline-10 423081 422062 +- 0.6% (3 datapoints) -0.2% No Change
memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values 112050 111832 +- 0.4% (3 datapoints) -0.2% No Change
memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values-pipeline-10 260380 262797 +- 1.3% (3 datapoints) 0.9% No Change
memtier_benchmark-1Mkeys-load-string-with-100B-values 177568 176588 +- 0.6% (3 datapoints) -0.6% No Change
memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10 757538 775463 +- 0.6% (3 datapoints) 2.4% No Change
memtier_benchmark-1Mkeys-load-string-with-10B-values 187389 184847 +- 0.3% (3 datapoints) -1.4% No Change
memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10 941698 942841 +- 0.7% (3 datapoints) 0.1% No Change
memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-100 1546822 1654724 +- 1.4% (3 datapoints) 7.0% potential IMPROVEMENT
memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-50 1523133 1538890 +- 1.3% (3 datapoints) 1.0% No Change
memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-500 1822181 1809489 +- 1.3% (3 datapoints) -0.7% No Change
memtier_benchmark-1Mkeys-load-string-with-1KiB-values 169543 166848 +- 0.5% (3 datapoints) -1.6% No Change
memtier_benchmark-1Mkeys-load-string-with-20KiB-values 78710 78743 +- 0.2% (3 datapoints) 0.0% No Change
memtier_benchmark-1Mkeys-load-zset-listpack-with-100-elements-double-score 3758 3774 +- 0.3% (3 datapoints) 0.4% No Change
memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score 117580 116962 +- 0.8% (3 datapoints) -0.5% No Change
memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score 128932 128787 +- 0.5% (3 datapoints) -0.1% No Change
memtier_benchmark-1Mkeys-string-append-1-100B 184284 182974 +- 0.3% (3 datapoints) -0.7% No Change
memtier_benchmark-1Mkeys-string-append-1-100B-pipeline-10 875175 885617 +- 0.4% (3 datapoints) 1.2% No Change
memtier_benchmark-1Mkeys-string-decr 193439 191368 +- 0.7% (3 datapoints) -1.1% No Change
memtier_benchmark-1Mkeys-string-get-100B 201738 200647 +- 1.2% (3 datapoints) -0.5% No Change
memtier_benchmark-1Mkeys-string-get-100B-pipeline-10 1187018 1180467 +- 0.6% (3 datapoints) -0.6% No Change
memtier_benchmark-1Mkeys-string-get-10B 204321 201127 -1.6% No Change
memtier_benchmark-1Mkeys-string-get-10B-pipeline-10 1138040 1133056 +- 0.9% (3 datapoints) -0.4% No Change
memtier_benchmark-1Mkeys-string-get-10B-pipeline-100 2182160 2168865 +- 1.1% (3 datapoints) -0.6% No Change
memtier_benchmark-1Mkeys-string-get-10B-pipeline-50 1949942 1953295 +- 0.4% (3 datapoints) 0.2% No Change
memtier_benchmark-1Mkeys-string-get-10B-pipeline-500 2303671 2334288 +- 0.7% (3 datapoints) 1.3% No Change
memtier_benchmark-1Mkeys-string-get-1KiB 201319 198640 +- 0.7% (3 datapoints) -1.3% No Change
memtier_benchmark-1Mkeys-string-get-1KiB-pipeline-10 1137894 1139056 +- 0.2% (3 datapoints) 0.1% No Change
memtier_benchmark-1Mkeys-string-incr-pipeline-10 1080592 1091759 +- 2.1% (3 datapoints) 1.0% No Change
memtier_benchmark-1Mkeys-string-incrby 195189 193208 +- 1.8% (3 datapoints) -1.0% No Change
memtier_benchmark-1Mkeys-string-incrby-pipeline-10 1017705 1027445 +- 0.7% (3 datapoints) 1.0% No Change
memtier_benchmark-1Mkeys-string-incrbyfloat 165823 164912 +- 1.1% (3 datapoints) -0.5% No Change
memtier_benchmark-1Mkeys-string-incrbyfloat-pipeline-10 585004 578738 -1.1% No Change
memtier_benchmark-1Mkeys-string-int-encoding-strlen-pipeline-10 1061887 1093901 +- 1.4% (3 datapoints) 3.0% potential IMPROVEMENT
memtier_benchmark-1Mkeys-string-mget-1KiB 146574 145306 -0.9% No Change
memtier_benchmark-1Mkeys-string-set-with-ex-100B-pipeline-10 702790 736171 +- 1.0% (3 datapoints) 4.7% potential IMPROVEMENT
memtier_benchmark-1Mkeys-string-setex-100B-pipeline-10 783402 779043 -0.6% No Change
memtier_benchmark-1Mkeys-string-setrange-100B 186954 185636 +- 2.1% (3 datapoints) -0.7% No Change
memtier_benchmark-1Mkeys-string-setrange-100B-pipeline-10 895820 931105 +- 0.6% (3 datapoints) 3.9% potential IMPROVEMENT
memtier_benchmark-1key-100M-bits-bitmap-bitcount 24560 24540 +- 0.2% (3 datapoints) -0.1% No Change
memtier_benchmark-1key-1Billion-bits-bitmap-bitcount 1599 1603 +- 0.2% (3 datapoints) 0.2% No Change
memtier_benchmark-1key-geo-2-elements-geopos 168871 169614 +- 0.7% (3 datapoints) 0.4% No Change
memtier_benchmark-1key-geo-2-elements-geosearch-fromlonlat-withcoord 112120 110843 +- 0.1% (3 datapoints) -1.1% No Change
memtier_benchmark-1key-geo-60M-elements-geodist 197205 197275 +- 0.3% (3 datapoints) 0.0% No Change
memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10 1192371 1193058 +- 0.5% (3 datapoints) 0.1% No Change
memtier_benchmark-1key-geo-60M-elements-geohash 201402 199491 +- 0.1% (3 datapoints) -0.9% No Change
memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10 1254564 1253278 +- 0.3% (3 datapoints) -0.1% No Change
memtier_benchmark-1key-geo-60M-elements-geopos 200022 200100 +- 0.8% (3 datapoints) 0.0% No Change
memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10 1255761 1252567 +- 0.3% (3 datapoints) -0.3% No Change
memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat 174297 173777 +- 0.5% (3 datapoints) -0.3% No Change
memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-bybox 169718 171549 +- 0.5% (3 datapoints) 1.1% No Change
memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10 746114 802362 +- 2.6% (3 datapoints) 7.5% potential IMPROVEMENT
memtier_benchmark-1key-hash-1K-fields-hgetall 11059 11385 +- 0.9% (3 datapoints) 3.0% No Change
memtier_benchmark-1key-hash-1K-fields-hgetall-pipeline-10 10867 11256 +- 0.2% (3 datapoints) 3.6% potential IMPROVEMENT
memtier_benchmark-1key-hash-hscan-50-fields-10B-values 116015 116502 +- 0.3% (3 datapoints) 0.4% No Change
memtier_benchmark-1key-list-10-elements-lrange-all-elements 180695 181025 +- 1.0% (3 datapoints) 0.2% No Change
memtier_benchmark-1key-list-10-elements-lrange-all-elements-pipeline-10 824409 792521 +- 3.2% (3 datapoints) -3.9% potential REGRESSION
memtier_benchmark-1key-list-100-elements-int-7bit-uint-lrange-all-elements-pipeline-10 211949 215094 +- 0.6% (3 datapoints) 1.5% No Change
memtier_benchmark-1key-list-100-elements-int-lrange-all-elements-pipeline-10 162572 168007 +- 1.5% (3 datapoints) 3.3% potential IMPROVEMENT
memtier_benchmark-1key-list-100-elements-llen-pipeline-10 1273700 1260666 +- 0.4% (3 datapoints) -1.0% No Change
memtier_benchmark-1key-list-100-elements-lrange-all-elements 121462 121551 +- 0.2% (3 datapoints) 0.1% No Change
memtier_benchmark-1key-list-100-elements-lrange-all-elements-pipeline-10 211892 214273 +- 1.2% (3 datapoints) 1.1% No Change
memtier_benchmark-1key-list-10K-elements-lindex-integer 162897 162666 +- 0.4% (3 datapoints) -0.1% No Change
memtier_benchmark-1key-list-10K-elements-lindex-string 142617 142645 0.0% No Change
memtier_benchmark-1key-list-10K-elements-lindex-string-pipeline-10 354206 366115 +- 0.8% (3 datapoints) 3.4% potential IMPROVEMENT
memtier_benchmark-1key-list-10K-elements-linsert-lrem-integer 8303 8361 +- 0.3% (3 datapoints) 0.7% No Change
memtier_benchmark-1key-list-10K-elements-linsert-lrem-string 10451 10899 +- 0.3% (3 datapoints) 4.3% potential IMPROVEMENT
memtier_benchmark-1key-list-10K-elements-lpos-integer 8167 8232 +- 0.3% (3 datapoints) 0.8% No Change
memtier_benchmark-1key-list-10K-elements-lpos-string 10250 10244 +- 0.8% (3 datapoints) -0.1% No Change
memtier_benchmark-1key-list-1K-elements-lrange-all-elements 22154 22576 +- 0.1% (3 datapoints) 1.9% No Change
memtier_benchmark-1key-list-1K-elements-lrange-all-elements-pipeline-10 22034 23203 +- 0.3% (3 datapoints) 5.3% potential IMPROVEMENT
memtier_benchmark-1key-list-2K-elements-quicklist-lrange-all-elements-longs 8946 9159 +- 0.4% (3 datapoints) 2.4% No Change
memtier_benchmark-1key-load-hash-1K-fields-with-5B-values 5933 5922 +- 0.5% (3 datapoints) -0.2% No Change
memtier_benchmark-1key-pfadd-4KB-values-pipeline-10 332381 332110 +- 0.3% (3 datapoints) -0.1% No Change
memtier_benchmark-1key-set-10-elements-smembers 185475 183947 +- 0.7% (3 datapoints) -0.8% No Change
memtier_benchmark-1key-set-10-elements-smembers-pipeline-10 839924 841426 +- 3.3% (3 datapoints) 0.2% No Change
memtier_benchmark-1key-set-10-elements-smismember 190379 192033 +- 0.8% (3 datapoints) 0.9% No Change
memtier_benchmark-1key-set-100-elements-sismember-is-a-member 190982 188965 +- 0.3% (3 datapoints) -1.1% No Change
memtier_benchmark-1key-set-100-elements-sismember-not-a-member 184818 184156 +- 0.8% (3 datapoints) -0.4% No Change
memtier_benchmark-1key-set-100-elements-smembers 115789 116226 +- 0.3% (3 datapoints) 0.4% No Change
memtier_benchmark-1key-set-100-elements-smismember 176379 174999 +- 0.7% (3 datapoints) -0.8% No Change
memtier_benchmark-1key-set-100-elements-sscan 113083 113937 +- 0.6% (3 datapoints) 0.8% No Change
memtier_benchmark-1key-set-10M-elements-sismember-50pct-chance 193963 191493 +- 0.7% (3 datapoints) -1.3% No Change
memtier_benchmark-1key-set-10M-elements-srem-50pct-chance 192846 192230 +- 1.0% (3 datapoints) -0.3% No Change
memtier_benchmark-1key-set-1K-elements-smembers 20265 20901 +- 4.0% (3 datapoints) 3.1% potential IMPROVEMENT
memtier_benchmark-1key-set-1M-elements-sismember-50pct-chance 194823 193196 +- 0.6% (3 datapoints) -0.8% No Change
memtier_benchmark-1key-set-200K-elements-sadd-constant 194984 194916 +- 0.8% (3 datapoints) -0.0% No Change
memtier_benchmark-1key-set-2M-elements-sadd-increasing 194034 192500 +- 0.8% (3 datapoints) -0.8% No Change
memtier_benchmark-1key-zincrby-1M-elements-pipeline-1 51313 52030 +- 0.7% (3 datapoints) 1.4% No Change
memtier_benchmark-1key-zrank-100K-elements-pipeline-1 56044 56573 +- 1.2% (3 datapoints) 0.9% No Change
memtier_benchmark-1key-zrank-10M-elements-pipeline-1 52752 52663 +- 1.8% (3 datapoints) -0.2% No Change
memtier_benchmark-1key-zrank-1M-elements-pipeline-1 55246 54882 +- 0.9% (3 datapoints) -0.7% No Change
memtier_benchmark-1key-zrem-5M-elements-pipeline-1 55551 55668 0.2% No Change
memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-1 121234 121719 +- 0.3% (3 datapoints) 0.4% No Change
memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-10 207261 209542 +- 0.9% (3 datapoints) 1.1% No Change
memtier_benchmark-1key-zrevrank-1M-elements-pipeline-1 55192 54578 +- 1.2% (3 datapoints) -1.1% No Change
memtier_benchmark-1key-zset-10-elements-zrange-all-elements 107652 107871 +- 0.3% (3 datapoints) 0.2% No Change
memtier_benchmark-1key-zset-10-elements-zrange-all-elements-long-scores 137987 138502 +- 0.8% (3 datapoints) 0.4% No Change
memtier_benchmark-1key-zset-100-elements-zrange-all-elements 29580 29547 +- 0.0% (3 datapoints) -0.1% No Change
memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements 29637 29606 +- 0.1% (3 datapoints) -0.1% No Change
memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements-long-scores 64441 66790 +- 0.4% (3 datapoints) 3.6% potential IMPROVEMENT
memtier_benchmark-1key-zset-100-elements-zscan 81464 82229 +- 0.1% (3 datapoints) 0.9% No Change
memtier_benchmark-1key-zset-1K-elements-zrange-all-elements 4831 4870 +- 0.6% (3 datapoints) 0.8% No Change
memtier_benchmark-1key-zset-1M-elements-zcard-pipeline-10 1261408 1231617 +- 1.5% (3 datapoints) -2.4% No Change
memtier_benchmark-1key-zset-1M-elements-zremrangebyscore-pipeline-10 415488 415395 -0.0% No Change
memtier_benchmark-1key-zset-1M-elements-zrevrange-5-elements 182040 183523 +- 0.6% (3 datapoints) 0.8% No Change
memtier_benchmark-1key-zset-1M-elements-zrevrange-withscores-5-elements-pipeline-10 660647 714108 +- 2.6% (3 datapoints) 8.1% potential IMPROVEMENT
memtier_benchmark-1key-zset-1M-elements-zscore-pipeline-10 1054657 1052961 +- 0.1% (3 datapoints) -0.2% No Change
memtier_benchmark-2keys-lua-eval-hset-expire 100368 100226 +- 0.3% (3 datapoints) -0.1% No Change
memtier_benchmark-2keys-lua-evalsha-hset-expire 115678 115194 +- 1.2% (3 datapoints) -0.4% No Change
memtier_benchmark-2keys-set-10-100-elements-sdiff 36226 35406 +- 1.2% (3 datapoints) -2.3% No Change
memtier_benchmark-2keys-set-10-100-elements-sinter 105269 104411 -0.8% No Change
memtier_benchmark-2keys-set-10-100-elements-sunion 47088 47548 +- 0.3% (3 datapoints) 1.0% No Change
memtier_benchmark-2keys-stream-5-entries-xread-all-entries 91642 92523 +- 0.3% (3 datapoints) 1.0% No Change
memtier_benchmark-2keys-stream-5-entries-xread-all-entries-pipeline-10 158657 159141 0.3% No Change
memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunion 4543 4542 +- 0.6% (3 datapoints) -0.0% No Change
memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunionstore 5263 5287 +- 0.8% (3 datapoints) 0.5% No Change
memtier_benchmark-3Mkeys-load-string-with-512B-values 172980 169305 -2.1% No Change
memtier_benchmark-3Mkeys-load-string-with-512B-values-pipeline-10 670756 667063 +- 0.3% (3 datapoints) -0.6% No Change
memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-2000_conns 173299 175441 +- 0.5% (2 datapoints) 1.2% No Change
memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-400_conns 164993 164529 +- 0.4% (3 datapoints) -0.3% No Change
memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-40_conns 164535 164104 +- 0.4% (3 datapoints) -0.3% No Change
memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-2000_conns 180262 180327 +- 0.7% (3 datapoints) 0.0% No Change
memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-400_conns 169635 168117 +- 0.4% (3 datapoints) -0.9% No Change
memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-5200_conns 141365 142544 +- 0.3% (3 datapoints) 0.8% No Change
memtier_benchmark-connection-hello 184528 181965 +- 0.5% (3 datapoints) -1.4% No Change
memtier_benchmark-connection-hello-pipeline-10 772357 792106 +- 1.5% (3 datapoints) 2.6% No Change
memtier_benchmark-nokeys-connection-ping-pipeline-10 1490292 1491748 +- 0.3% (3 datapoints) 0.1% No Change
memtier_benchmark-nokeys-pubsub-publish-1K-channels-10B-no-subscribers 1149609 1156160 +- 0.2% (3 datapoints) 0.6% No Change
memtier_benchmark-nokeys-server-time-pipeline-10 1335814 1331105 -0.4% No Change

WARNING: There were 150 benchmarks with 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

Comment thread src/util.c
@fcostaoliveira fcostaoliveira requested a review from sundb March 10, 2025 10:30
@fcostaoliveira

Copy link
Copy Markdown
Collaborator Author

@sundb triggered a new daily of e4d1ff9 https://github.com/filipecosta90/redis/actions/runs/13762410718

Comment thread src/util.c Outdated
Co-authored-by: debing.sun <debing.sun@redis.com>
@fcostaoliveira fcostaoliveira requested a review from sundb March 10, 2025 11:45
@sundb sundb added this to Redis 8.2 Mar 10, 2025
@sundb sundb removed the action:run-benchmark Triggers the benchmark suite for this Pull Request label Mar 19, 2025
Comment thread src/util.c Outdated
@sundb sundb merged commit 3e012c9 into redis:unstable Mar 19, 2025
@github-project-automation github-project-automation Bot moved this from Todo to Done in Redis 8.2 Mar 19, 2025
@sundb sundb added the release-notes indication that this issue needs to be mentioned in the release notes label Mar 21, 2025
@sundb sundb added this to Redis 8.0 Aug 15, 2025
@sundb sundb removed this from Redis 8.2 Aug 15, 2025
@sundb sundb moved this to Done in Redis 8.0 Aug 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-notes indication that this issue needs to be mentioned in the release notes

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants