Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
b7cb5f0
ci: performance project scaffolding
baywet Mar 28, 2025
e90dcca
chore: moves benchmark to dedicated directory
baywet Mar 28, 2025
f39bc77
chore: commits initial benchmark results
baywet Mar 28, 2025
317e2f6
ci: adds a comparison project for benchmark results
baywet Mar 28, 2025
4ba642c
ci: adds benchmark runs and comparison
baywet Mar 31, 2025
41bf122
ci: renames empty models tests
baywet Mar 31, 2025
b82594f
Merge branch 'main' into ci/performance-testing
baywet Apr 4, 2025
1c991f6
chore: refactors to a command structure
baywet Apr 4, 2025
1cbeab6
chore: moves models to a dedicated source file
baywet Apr 4, 2025
a08fc97
ci: fixes missing project argument
baywet Apr 4, 2025
a491315
ci: fixes reports path
baywet Apr 4, 2025
308b022
chore: moves policies to own directory
baywet Apr 4, 2025
4671651
chore: no warn on static method for perf test project
baywet Apr 7, 2025
be4f841
Merge branch 'main' into ci/performance-testing
baywet Apr 7, 2025
3bc2c97
chore: linting
baywet Apr 7, 2025
51c63bb
chore: reduces run time for empty performance tests
baywet Apr 7, 2025
240fb54
chore: linting
baywet Apr 7, 2025
8b4fd00
fix: a bug where the input stream would be disposed not matter what
baywet Apr 7, 2025
b78b847
ci: fixes working directory for benchmark run
baywet Apr 7, 2025
93ef172
ci: adds basic infrastructure for descriptions based performance tests
baywet Apr 7, 2025
c306a76
chore: refresh empty object tests
baywet Apr 7, 2025
ad1a454
ci: adds comparison run for descriptions comparisons
baywet Apr 7, 2025
e603b74
ci: adds percentage based comparisons
baywet Apr 7, 2025
9793500
ci: adds large description to performance tests
baywet Apr 8, 2025
0a5a07d
ci: adds yaml descriptions perf tests to compare
baywet Apr 8, 2025
562b4a3
ci: adds truncation in percentage difference to reduce noise
baywet Apr 8, 2025
b35bf35
chore: updates benchmark reports
baywet Apr 8, 2025
4ea8391
chore: updates benchmark reports from WSL
baywet Apr 8, 2025
1c74c70
Merge branch 'main' into ci/performance-testing
baywet Apr 9, 2025
c012e94
chore: refreshes performance measurements after collection updates
baywet Apr 9, 2025
3211ed5
Merge branch 'main' into ci/performance-testing
baywet Apr 10, 2025
4602c62
ci: adds a point 2 policy to reduce noise
baywet Apr 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions Microsoft.OpenApi.sln
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.OpenApi.Hidi", "s
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.OpenApi.Hidi.Tests", "test\Microsoft.OpenApi.Hidi.Tests\Microsoft.OpenApi.Hidi.Tests.csproj", "{6ADC5D41-EDD2-4206-B815-5DFF739C6832}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PerformanceTests", "performance\PerformanceTests.csproj", "{537E49E3-325E-40EE-A90E-7556D4D333AA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -68,6 +70,10 @@ Global
{6ADC5D41-EDD2-4206-B815-5DFF739C6832}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6ADC5D41-EDD2-4206-B815-5DFF739C6832}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6ADC5D41-EDD2-4206-B815-5DFF739C6832}.Release|Any CPU.Build.0 = Release|Any CPU
{537E49E3-325E-40EE-A90E-7556D4D333AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{537E49E3-325E-40EE-A90E-7556D4D333AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{537E49E3-325E-40EE-A90E-7556D4D333AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{537E49E3-325E-40EE-A90E-7556D4D333AA}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
21 changes: 21 additions & 0 deletions performance/Benchmarks.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
using System;
using BenchmarkDotNet;
using BenchmarkDotNet.Attributes;

namespace performance
{
public class Benchmarks
{
[Benchmark]
public void Scenario1()
{
// Implement your benchmark here
}

[Benchmark]
public void Scenario2()
{
// Implement your benchmark here
}
}
}
22 changes: 22 additions & 0 deletions performance/PerformanceTests.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<OutputType>Exe</OutputType>
</PropertyGroup>
<PropertyGroup>
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DebugSymbols>true</DebugSymbols>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<Configuration>Release</Configuration>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="BenchmarkDotNet" Version="0.14.0" />
<PackageReference Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.14.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\src\Microsoft.OpenApi\Microsoft.OpenApi.csproj" />
</ItemGroup>
</Project>
17 changes: 17 additions & 0 deletions performance/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Running;

namespace performance

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ioj

{
public class Program
{
public static void Main(string[] args)
{
var config = DefaultConfig.Instance;
var summary = BenchmarkRunner.Run<Benchmarks>(config, args);

// Use this to select benchmarks from the console:
// var summaries = BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(args, config);
}
}
}