Skip to content

Commit 9ced84e

Browse files
authored
Merge pull request Cysharp#184 from filzrev/chore-update-benchmarks2
chore: Update dependencies and benchmark relating code
2 parents ea1d100 + 0593a97 commit 9ced84e

File tree

7 files changed

+60
-32
lines changed

7 files changed

+60
-32
lines changed

sandbox/CliFrameworkBenchmark/Benchmark.cs

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,15 @@
1-
// This benchmark project is based on CliFx.Benchmarks.
1+
// This benchmark project is based on CliFx.Benchmarks.
22
// https://github.com/Tyrrrz/CliFx/tree/master/CliFx.Benchmarks/
33

44
using BenchmarkDotNet.Attributes;
5-
using BenchmarkDotNet.Engines;
65
using BenchmarkDotNet.Order;
76
using CliFx;
87
using Cocona.Benchmark.External.Commands;
9-
using CommandLine;
108
using ConsoleAppFramework;
11-
using PowerArgs;
129
using Spectre.Console.Cli;
13-
using System.ComponentModel.DataAnnotations.Schema;
14-
using BenchmarkDotNet.Columns;
1510

1611
namespace Cocona.Benchmark.External;
1712

18-
// use ColdStart strategy to measure startup time evaluation
19-
[SimpleJob(RunStrategy.ColdStart, launchCount: 1, warmupCount: 0, iterationCount: 1, invocationCount: 1)]
20-
[MemoryDiagnoser]
2113
[Orderer(SummaryOrderPolicy.FastestToSlowest)]
2214
public class Benchmark
2315
{

sandbox/CliFrameworkBenchmark/CliFrameworkBenchmark.csproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
</ItemGroup>
1616

1717
<ItemGroup>
18-
<PackageReference Include="BenchmarkDotNet" Version="0.14.0" />
19-
<PackageReference Include="CliFx" Version="2.3.5" />
18+
<PackageReference Include="BenchmarkDotNet" Version="0.15.2" />
19+
<PackageReference Include="CliFx" Version="2.3.6" />
2020
<PackageReference Include="clipr" Version="1.6.1" />
2121
<PackageReference Include="Cocona" Version="2.2.0" />
2222
<PackageReference Include="Cocona.Lite" Version="2.2.0" />
@@ -25,9 +25,9 @@
2525
<PackageReference Include="McMaster.Extensions.CommandLineUtils" Version="4.1.1" />
2626
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.0" />
2727
<PackageReference Include="PowerArgs" Version="4.0.3" />
28-
<PackageReference Include="Spectre.Console.Cli" Version="0.49.1" />
29-
<PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
30-
<PackageReference Include="System.CommandLine.NamingConventionBinder" Version="2.0.0-beta4.22272.1" />
28+
<PackageReference Include="Spectre.Console.Cli" Version="0.50.0" />
29+
<PackageReference Include="System.CommandLine" Version="2.0.0-beta5.25306.1" />
30+
<PackageReference Include="System.CommandLine.NamingConventionBinder" Version="2.0.0-beta5.25306.1" />
3131
</ItemGroup>
3232

3333

sandbox/CliFrameworkBenchmark/Commands/SystemCommandLineCommand.cs

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,25 +11,37 @@ public static int Execute(string[] args)
1111
{
1212
var command = new RootCommand
1313
{
14-
new Option<string?>(new[] {"--str", "-s"}),
15-
new Option<int>(new[] {"--int", "-i"}),
16-
new Option<bool>(new[] {"--bool", "-b"}),
14+
new Option<string?>("--str", ["-s"]),
15+
new Option<int>("--int", ["-i"]),
16+
new Option<bool>("--bool", ["-b"]),
1717
};
1818

19-
command.Handler = CommandHandler.Create(ExecuteHandler);
20-
return command.Invoke(args);
19+
command.SetAction(parseResult =>
20+
{
21+
var handler = CommandHandler.Create(ExecuteHandler);
22+
return handler.InvokeAsync(parseResult);
23+
});
24+
25+
ParseResult parseResult = command.Parse(args);
26+
return parseResult.Invoke();
2127
}
2228

2329
public static Task<int> ExecuteAsync(string[] args)
2430
{
2531
var command = new RootCommand
2632
{
27-
new Option<string?>(new[] {"--str", "-s"}),
28-
new Option<int>(new[] {"--int", "-i"}),
29-
new Option<bool>(new[] {"--bool", "-b"}),
33+
new Option<string?>("--str", ["-s"]),
34+
new Option<int>("--int", ["-i"]),
35+
new Option<bool>("--bool", ["-b"]),
3036
};
3137

32-
command.Handler = CommandHandler.Create(ExecuteHandler);
33-
return command.InvokeAsync(args);
38+
command.SetAction((parseResult, cancellationToken) =>
39+
{
40+
var handler = CommandHandler.Create(ExecuteHandler);
41+
return handler.InvokeAsync(parseResult);
42+
});
43+
44+
ParseResult parseResult = command.Parse(args);
45+
return parseResult.InvokeAsync();
3446
}
3547
}

sandbox/CliFrameworkBenchmark/Program.cs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@
22
// https://github.com/Tyrrrz/CliFx/tree/master/CliFx.Benchmarks/
33

44
using BenchmarkDotNet.Configs;
5+
using BenchmarkDotNet.Diagnosers;
6+
using BenchmarkDotNet.Engines;
7+
using BenchmarkDotNet.Jobs;
58
using BenchmarkDotNet.Reports;
69
using BenchmarkDotNet.Running;
10+
using BenchmarkDotNet.Toolchains.CsProj;
711
using Perfolizer.Horology;
812

913
namespace Cocona.Benchmark.External;
@@ -12,6 +16,22 @@ class Program
1216
{
1317
static void Main(string[] args)
1418
{
15-
BenchmarkRunner.Run<Benchmark>(DefaultConfig.Instance.WithSummaryStyle(SummaryStyle.Default.WithTimeUnit(TimeUnit.Millisecond)), args);
19+
var config = DefaultConfig.Instance
20+
.WithSummaryStyle(SummaryStyle.Default
21+
.WithTimeUnit(TimeUnit.Millisecond));
22+
23+
config.AddDiagnoser(MemoryDiagnoser.Default);
24+
config.AddDiagnoser(new ThreadingDiagnoser(new ThreadingDiagnoserConfig(displayLockContentionWhenZero: false, displayCompletedWorkItemCountWhenZero: false)));
25+
26+
config.AddJob(Job.Default
27+
.WithStrategy(RunStrategy.ColdStart)
28+
.WithLaunchCount(1)
29+
.WithWarmupCount(0)
30+
.WithIterationCount(1)
31+
.WithInvocationCount(1)
32+
.WithToolchain(CsProjCoreToolchain.NetCoreApp80)
33+
.DontEnforcePowerPlan());
34+
35+
BenchmarkRunner.Run<Benchmark>(config, args);
1636
}
1737
}

sandbox/GeneratorSandbox/GeneratorSandbox.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818

1919
<ItemGroup>
2020
<!--<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.0" />
21-
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.0" />-->
22-
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.0" />
21+
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.0" />-->
22+
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.6" />
2323
<!--<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.0" />-->
2424
<!--<PackageReference Include="ZLogger" Version="2.5.9" />-->
2525
</ItemGroup>

src/ConsoleAppFramework/ConsoleAppFramework.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<!-- Roslyn for .NET 8 / C# 12 -->
3333
<!-- https://learn.microsoft.com/en-us/visualstudio/extensibility/roslyn-version-support -->
3434
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.8.0" />
35-
<PackageReference Include="PolySharp" Version="1.14.1">
35+
<PackageReference Include="PolySharp" Version="1.15.0">
3636
<PrivateAssets>all</PrivateAssets>
3737
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3838
</PackageReference>

tests/ConsoleAppFramework.GeneratorTests/ConsoleAppFramework.GeneratorTests.csproj

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,14 @@
1212

1313
<ItemGroup>
1414
<PackageReference Include="Shouldly" Version="4.3.0" />
15-
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.12.0" />
16-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
17-
<PackageReference Include="xunit.v3" Version="1.1.0" />
18-
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
15+
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.14.0" />
16+
<PackageReference Include="xunit.v3" Version="2.0.3" />
17+
</ItemGroup>
18+
19+
<!-- Following settings will be removed -->
20+
<ItemGroup>
21+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
22+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.1">
1923
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2024
<PrivateAssets>all</PrivateAssets>
2125
</PackageReference>

0 commit comments

Comments
 (0)