Skip to content

Commit 78fe507

Browse files
committed
split benchmarks
1 parent 1224be7 commit 78fe507

File tree

2 files changed

+78
-20
lines changed

2 files changed

+78
-20
lines changed

.github/workflows/ci-benchmarks.yml

+74-16
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
path: "rsocket-transport-benchmarks/**/build/reports/benchmarks/**/*.csv"
3939
retention-days: 7
4040

41-
benchmark-network:
41+
benchmark-network-rr:
4242
runs-on: ${{ matrix.os }}
4343
strategy:
4444
fail-fast: false
@@ -51,33 +51,91 @@ jobs:
5151
- run: >
5252
./gradlew
5353
ktorTcpRequestResponseBenchmark
54-
ktorTcpRequestStreamBenchmark
55-
ktorTcpRequestChannelBenchmark
5654
ktorWsRequestResponseBenchmark
57-
ktorWsRequestStreamBenchmark
58-
ktorWsRequestChannelBenchmark
5955
nettyTcpRequestResponseBenchmark
60-
nettyTcpRequestStreamBenchmark
61-
nettyTcpRequestChannelBenchmark
6256
nettyQuicRequestResponseBenchmark
63-
nettyQuicRequestStreamBenchmark
64-
nettyQuicRequestChannelBenchmark
6557
-Prsocketbuild.skipBenchmarkTasks=true
6658
--no-daemon
6759
6860
- run: >
6961
./gradlew
7062
ktorTcpRequestResponseBenchmark
71-
ktorTcpRequestStreamBenchmark
72-
ktorTcpRequestChannelBenchmark
7363
ktorWsRequestResponseBenchmark
74-
ktorWsRequestStreamBenchmark
75-
ktorWsRequestChannelBenchmark
7664
nettyTcpRequestResponseBenchmark
77-
nettyTcpRequestStreamBenchmark
78-
nettyTcpRequestChannelBenchmark
7965
nettyQuicRequestResponseBenchmark
66+
--no-parallel
67+
--max-workers=1
68+
--no-daemon
69+
--continue
70+
71+
- if: always() && !cancelled()
72+
uses: actions/upload-artifact@v4
73+
with:
74+
name: benchmark-reports-network-rr-${{ matrix.os }}
75+
path: "rsocket-transport-benchmarks/**/build/reports/benchmarks/**/*.csv"
76+
retention-days: 7
77+
78+
benchmark-network-rs:
79+
runs-on: ${{ matrix.os }}
80+
strategy:
81+
fail-fast: false
82+
matrix:
83+
os: [ ubuntu-latest, macos-latest ]
84+
steps:
85+
- uses: actions/checkout@v4
86+
- uses: ./.github/actions/setup-gradle
87+
88+
- run: >
89+
./gradlew
90+
ktorTcpRequestStreamBenchmark
91+
ktorWsRequestStreamBenchmark
92+
nettyTcpRequestStreamBenchmark
93+
nettyQuicRequestStreamBenchmark
94+
-Prsocketbuild.skipBenchmarkTasks=true
95+
--no-daemon
96+
97+
- run: >
98+
./gradlew
99+
ktorTcpRequestStreamBenchmark
100+
ktorWsRequestStreamBenchmark
101+
nettyTcpRequestStreamBenchmark
80102
nettyQuicRequestStreamBenchmark
103+
--no-parallel
104+
--max-workers=1
105+
--no-daemon
106+
--continue
107+
108+
- if: always() && !cancelled()
109+
uses: actions/upload-artifact@v4
110+
with:
111+
name: benchmark-reports-network-rs-${{ matrix.os }}
112+
path: "rsocket-transport-benchmarks/**/build/reports/benchmarks/**/*.csv"
113+
retention-days: 7
114+
115+
benchmark-network-rc:
116+
runs-on: ${{ matrix.os }}
117+
strategy:
118+
fail-fast: false
119+
matrix:
120+
os: [ ubuntu-latest, macos-latest ]
121+
steps:
122+
- uses: actions/checkout@v4
123+
- uses: ./.github/actions/setup-gradle
124+
125+
- run: >
126+
./gradlew
127+
ktorTcpRequestChannelBenchmark
128+
ktorWsRequestChannelBenchmark
129+
nettyTcpRequestChannelBenchmark
130+
nettyQuicRequestChannelBenchmark
131+
-Prsocketbuild.skipBenchmarkTasks=true
132+
--no-daemon
133+
134+
- run: >
135+
./gradlew
136+
ktorTcpRequestChannelBenchmark
137+
ktorWsRequestChannelBenchmark
138+
nettyTcpRequestChannelBenchmark
81139
nettyQuicRequestChannelBenchmark
82140
--no-parallel
83141
--max-workers=1
@@ -87,6 +145,6 @@ jobs:
87145
- if: always() && !cancelled()
88146
uses: actions/upload-artifact@v4
89147
with:
90-
name: benchmark-reports-network-${{ matrix.os }}
148+
name: benchmark-reports-network-rc-${{ matrix.os }}
91149
path: "rsocket-transport-benchmarks/**/build/reports/benchmarks/**/*.csv"
92150
retention-days: 7

rsocket-transport-benchmarks/base/src/commonMain/kotlin/RSocketTransportBenchmark.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ package io.rsocket.kotlin.transport.benchmarks
1919
import kotlinx.coroutines.*
2020
import kotlinx.coroutines.flow.*
2121

22-
const val ITERATION = 3
23-
const val ITERATION_DURATION = 3
22+
const val ITERATION = 5
23+
const val ITERATION_DURATION = 5
2424

25-
const val WARMUP = 3
26-
const val WARMUP_DURATION = 3
25+
const val WARMUP = 5
26+
const val WARMUP_DURATION = 5
2727

2828
abstract class RSocketTransportBenchmark<Payload : Any, Blackhole : Any> {
2929

0 commit comments

Comments
 (0)