Skip to content

Commit 1224be7

Browse files
committed
Setup benchmarks
1 parent 9c1e93d commit 1224be7

27 files changed

+1281
-373
lines changed

.github/workflows/ci-benchmarks.yml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
name: Benchmarks CI
2+
on:
3+
push:
4+
5+
jobs:
6+
benchmark-local:
7+
runs-on: ${{ matrix.os }}
8+
strategy:
9+
fail-fast: false
10+
matrix:
11+
os: [ ubuntu-latest, macos-latest ]
12+
steps:
13+
- uses: actions/checkout@v4
14+
- uses: ./.github/actions/setup-gradle
15+
16+
- run: >
17+
./gradlew
18+
localRequestResponseBenchmark
19+
localRequestStreamBenchmark
20+
localRequestChannelBenchmark
21+
-Prsocketbuild.skipBenchmarkTasks=true
22+
--no-daemon
23+
24+
- run: >
25+
./gradlew
26+
localRequestResponseBenchmark
27+
localRequestStreamBenchmark
28+
localRequestChannelBenchmark
29+
--no-parallel
30+
--max-workers=1
31+
--no-daemon
32+
--continue
33+
34+
- if: always() && !cancelled()
35+
uses: actions/upload-artifact@v4
36+
with:
37+
name: benchmark-reports-local-${{ matrix.os }}
38+
path: "rsocket-transport-benchmarks/**/build/reports/benchmarks/**/*.csv"
39+
retention-days: 7
40+
41+
benchmark-network:
42+
runs-on: ${{ matrix.os }}
43+
strategy:
44+
fail-fast: false
45+
matrix:
46+
os: [ ubuntu-latest, macos-latest ]
47+
steps:
48+
- uses: actions/checkout@v4
49+
- uses: ./.github/actions/setup-gradle
50+
51+
- run: >
52+
./gradlew
53+
ktorTcpRequestResponseBenchmark
54+
ktorTcpRequestStreamBenchmark
55+
ktorTcpRequestChannelBenchmark
56+
ktorWsRequestResponseBenchmark
57+
ktorWsRequestStreamBenchmark
58+
ktorWsRequestChannelBenchmark
59+
nettyTcpRequestResponseBenchmark
60+
nettyTcpRequestStreamBenchmark
61+
nettyTcpRequestChannelBenchmark
62+
nettyQuicRequestResponseBenchmark
63+
nettyQuicRequestStreamBenchmark
64+
nettyQuicRequestChannelBenchmark
65+
-Prsocketbuild.skipBenchmarkTasks=true
66+
--no-daemon
67+
68+
- run: >
69+
./gradlew
70+
ktorTcpRequestResponseBenchmark
71+
ktorTcpRequestStreamBenchmark
72+
ktorTcpRequestChannelBenchmark
73+
ktorWsRequestResponseBenchmark
74+
ktorWsRequestStreamBenchmark
75+
ktorWsRequestChannelBenchmark
76+
nettyTcpRequestResponseBenchmark
77+
nettyTcpRequestStreamBenchmark
78+
nettyTcpRequestChannelBenchmark
79+
nettyQuicRequestResponseBenchmark
80+
nettyQuicRequestStreamBenchmark
81+
nettyQuicRequestChannelBenchmark
82+
--no-parallel
83+
--max-workers=1
84+
--no-daemon
85+
--continue
86+
87+
- if: always() && !cancelled()
88+
uses: actions/upload-artifact@v4
89+
with:
90+
name: benchmark-reports-network-${{ matrix.os }}
91+
path: "rsocket-transport-benchmarks/**/build/reports/benchmarks/**/*.csv"
92+
retention-days: 7

benchmarks/build.gradle.kts

Lines changed: 0 additions & 116 deletions
This file was deleted.

benchmarks/src/jvmMain/kotlin/io/rsocket/kotlin/benchmarks/RSocketBenchmark.kt

Lines changed: 0 additions & 138 deletions
This file was deleted.

0 commit comments

Comments
 (0)