Skip to content

Conversation

adam-fowler
Copy link
Collaborator

@adam-fowler adam-fowler commented Oct 4, 2025

This is in preparation for transaction changes which ended up duplicating the code in the _execute function as well
It's also an allocation improvement

Copy link

github-actions bot commented Oct 4, 2025

❌ Benchmark comparison failed with error ❌

Summary
==============================================================================
Threshold deviations for ValkeyBenchmarks:Connection: Pipeline array benchmark
==============================================================================
Malloc (total) (K, %) main pull_request Difference % Threshold %
p25 37 33 -11 5
p50 38 34 -10 5
p75 43 34 -20 5
========================================================================
Threshold deviations for ValkeyBenchmarks:Connection: Pipeline benchmark
========================================================================
Malloc (total) (K, %) main pull_request Difference % Threshold %
p25 36 33 -10 5
p50 37 33 -11 5
p75 37 34 -9 5

New baseline 'pull_request' is BETTER than the 'main' baseline thresholds.

Full Benchmark Comparison

Comparing results between 'main' and 'pull_request'

Host '52385896dc8a' with 4 'x86_64' processors with 15 GB memory, running:
#18~24.04.1-Ubuntu SMP Sat Jun 28 04:46:03 UTC 2025

ValkeyBenchmarks

Client: GET benchmark metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 82 82 84 85 85 85 85 6
pull_request 81 85 85 85 87 87 87 6
Δ -1 3 1 0 2 2 2 0
Improvement % 1 -4 -1 0 -2 -2 -2 0

Client: GET benchmark | parallel 20 | 20 concurrent connections metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 96 99 103 107 110 111 111 23
pull_request 95 98 103 107 109 119 119 24
Δ -1 -1 0 0 -1 8 8 1
Improvement % 1 1 0 0 1 -7 -7 1

Connection: GET benchmark metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 4 4 4 4 4 4 4 8
pull_request 4 4 4 4 4 4 4 8
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

Connection: GET benchmark – NoOpTracer metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 7 8 8 10 10 10 10 8
pull_request 7 8 8 10 10 10 10 8
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

Connection: Pipeline array benchmark metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 37 37 38 43 45 45 45 5
pull_request 33 33 34 34 34 34 34 6
Δ -4 -4 -4 -9 -11 -11 -11 1
Improvement % 11 11 11 21 24 24 24 1

Connection: Pipeline benchmark metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 36 36 37 37 37 37 37 5
pull_request 33 33 33 34 34 34 34 6
Δ -3 -3 -4 -3 -3 -3 -3 1
Improvement % 8 8 11 8 8 8 8 1

HashSlot – {user}.whatever metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 0 0 0 0 0 0 0 18
pull_request 0 0 0 0 0 0 0 18
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

ValkeyCommandEncoder – Command with 7 words metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 0 0 0 0 0 0 0 742
pull_request 0 0 0 0 0 0 0 735
Δ 0 0 0 0 0 0 0 -7
Improvement % 0 0 0 0 0 0 0 -7

ValkeyCommandEncoder – Simple GET metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 0 0 0 0 0 0 0 1886
pull_request 0 0 0 0 0 0 0 1870
Δ 0 0 0 0 0 0 0 -16
Improvement % 0 0 0 0 0 0 0 -16

ValkeyCommandEncoder – Simple MGET 15 keys metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 0 0 0 0 0 0 0 348
pull_request 0 0 0 0 0 0 0 358
Δ 0 0 0 0 0 0 0 10
Improvement % 0 0 0 0 0 0 0 10

Signed-off-by: Adam Fowler <adamfowler71@gmail.com>
Signed-off-by: Adam Fowler <adamfowler71@gmail.com>
@adam-fowler adam-fowler force-pushed the reorg-pipeline-functions branch from 21f995f to 45c4ee2 Compare October 8, 2025 08:22
@adam-fowler adam-fowler merged commit be8d32c into main Oct 8, 2025
12 of 13 checks passed
@adam-fowler adam-fowler deleted the reorg-pipeline-functions branch October 8, 2025 09:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants