Skip to content

Commit 23f6743

Browse files
committed
Setup benchmarks
1 parent 9c1e93d commit 23f6743

27 files changed

+1265
-373
lines changed

.github/workflows/ci-benchmarks.yml

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
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+
ktorWsRequestResponseBenchmark
55+
nettyTcpRequestResponseBenchmark
56+
nettyQuicRequestResponseBenchmark
57+
-Prsocketbuild.skipBenchmarkTasks=true
58+
--no-daemon
59+
60+
- run: >
61+
./gradlew
62+
ktorTcpRequestResponseBenchmark
63+
ktorWsRequestResponseBenchmark
64+
nettyTcpRequestResponseBenchmark
65+
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-${{ matrix.os }}
75+
path: "rsocket-transport-benchmarks/**/build/reports/benchmarks/**/*.csv"
76+
retention-days: 7

benchmarks/build.gradle.kts

-116
This file was deleted.

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

-138
This file was deleted.

0 commit comments

Comments
 (0)