-
Notifications
You must be signed in to change notification settings - Fork 349
/
benchmarks.yml
112 lines (110 loc) · 3.28 KB
/
benchmarks.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
variables:
# set to true to run benchmarks against main branch of main/official repo
base: false
# the branch of the official repo against which to run the benchmarks
baseBranch: main
# this script sets the source for the benchmarks to either the official repo
# or the local directory based on the base variable
setSourceScript: |
if (job.variables && job.variables.base && job.variables.base.toString() === 'true') {
const branch = (job.variables && job.variables.baseBranch && job.variables.baseBranch.toString()) || 'main';
console.log('Run benchmarks against official repository branch', branch);
job.source.repository = 'https://github.com/OData/odata.net';
job.source.branchOrCommit = branch;
}
else {
console.log('Run benchmarks against local repository');
job.source.localFolder = '.';
}
jobs:
components:
source:
project: test/PerformanceTests/ComponentTests/Microsoft.OData.Performance.ComponentTests.csproj
variables:
filter: "*"
jobType: default
base: "{{base}}"
baseBranch: "{{baseBranch}}"
arguments: "--job {{jobType}} --filter {{filter}} --memory"
options:
benchmarkDotNet: true
onConfigure:
- "{{setSourceScript}}"
service:
source:
project: test/PerformanceTests/ServiceTests/Microsoft.OData.Performance.ServiceTests.csproj
variables:
filter: "*"
jobType: default
base: "{{base}}"
baseBranch: "{{baseBranch}}"
framework: netcoreapp3.1
arguments: "--job {{jobType}} --filter {{filter}} --memory"
options:
benchmarkDotNet: true
onConfigure:
- "{{setSourceScript}}"
serializationComparisons:
source:
project: test/PerformanceTests/SerializationComparisonsTests/JsonWriterBenchmarks/JsonWriterBenchmarks.csproj
variables:
filter: "*"
jobType: default
base: "{{base}}"
baseBranch: "{{baseBranch}}"
arguments: "--job {{jobType}} --filter {{filter}} --memory"
options:
benchmarkDotNet: true
onConfigure:
- "{{setSourceScript}}"
scenarios:
Reader:
application:
job: components
variables:
filter: "*ODataReader*"
Writer:
application:
job: components
variables:
filter: "*Writer*"
UriParser:
application:
job: components
variables:
filter: "*UriParser*"
Components:
application:
job: components
variables:
filter: "*"
Service:
application:
job: service
variables:
filter: "*"
SerializationComparisons:
application:
job: serializationComparisons
variables:
filter: "*File*"
profiles:
local:
jobs:
application:
endpoints:
- http://localhost:5010
# Remote lab machines for benchmarking
# These are also used by ASP.NET team
# for more info visit: https://github.com/aspnet/Benchmarks/tree/main/scenarios
# and https://github.com/aspnet/Benchmarks/blob/main/scenarios/aspnet.profiles.yml
lab-windows:
jobs:
application:
endpoints:
- http://asp-perf-win:5001
lab-linux:
jobs:
application:
endpoints:
- http://asp-perf-lin:5001