Skip to content

Commit e78f783

Browse files
committed
Rely on CLI arguments
1 parent fd3628a commit e78f783

10 files changed

Lines changed: 47 additions & 17 deletions

File tree

.github/workflows/dotnet.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
with:
5151
dotnet-version: 8.0.x
5252
- name: Run benchmark
53-
run: cd tests/DynamoDBGenerator.SourceGenerator.Benchmarks && dotnet run --configuration Release --exporters json --filter '*'
53+
run: cd tests/DynamoDBGenerator.SourceGenerator.Benchmarks && dotnet run --configuration 'Release' -- --exporters 'JSON' --filter '*' --memory --job 'Default'
5454

5555
- name: Store benchmark result
5656
uses: rhysd/github-action-benchmark@v1

tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarkers/Container.cs

Lines changed: 0 additions & 6 deletions
This file was deleted.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
using DynamoDBGenerator.Attributes;
2+
3+
namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks;
4+
5+
public readonly struct Container<T>
6+
{
7+
public required T Value { get; init; }
8+
}

tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarkers/Dtos/PersonBenchmarker.cs renamed to tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Dtos/PersonBenchmarker.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
1-
using BenchmarkDotNet.Attributes;
2-
using BenchmarkDotNet.Jobs;
3-
using DynamoDBGenerator.SourceGenerator.Benchmarks.Models;
4-
5-
namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarkers.Dtos;
1+
namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Dtos;
62

73
//[SimpleJob(RuntimeMoniker.Net80)]
84
//[MemoryDiagnoser]

tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarkers/Collections.cs renamed to tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/Collections/Benchmarks.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using DynamoDBGenerator.Attributes;
22

3-
namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarkers;
3+
namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.Collections;
44

55
[DynamoDBMarshaller(EntityType = typeof(Container<List<string>>))]
66
public partial class StringList() : SG_VS_AWS_Benchmarker<Container<List<string>>>(
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
using DynamoDBGenerator.Attributes;
2+
3+
namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.Temporal;
4+
5+
[DynamoDBMarshaller(EntityType = typeof(Container<System.DateTime>))]
6+
public partial class DateTime() : SG_VS_AWS_Benchmarker<Container<System.DateTime>>(
7+
ContainerMarshaller.Marshall,
8+
ContainerMarshaller.Unmarshall
9+
);
10+
11+
[DynamoDBMarshaller(EntityType = typeof(Container<System.DateTimeOffset>))]
12+
public partial class DateTimeOffset() : SG_BenchMarker<Container<System.DateTimeOffset>>(
13+
ContainerMarshaller.Marshall,
14+
ContainerMarshaller.Unmarshall
15+
);
16+
17+
[DynamoDBMarshaller(EntityType = typeof(Container<System.DateOnly>))]
18+
public partial class DateOnly() : SG_BenchMarker<Container<System.DateOnly>>(
19+
ContainerMarshaller.Marshall,
20+
ContainerMarshaller.Unmarshall
21+
);
22+
23+
[DynamoDBMarshaller(EntityType = typeof(Container<System.TimeOnly>))]
24+
public partial class TimeOnly() : SG_BenchMarker<Container<System.TimeOnly>>(
25+
ContainerMarshaller.Marshall,
26+
ContainerMarshaller.Unmarshall
27+
);

tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarkers/SG_BenchMarker.cs renamed to tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/SG_BenchMarker.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@
22
using AutoFixture;
33
using BenchmarkDotNet.Attributes;
44

5-
namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarkers;
5+
namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks;
66

7-
[ShortRunJob, MarkdownExporter, MemoryDiagnoser]
87
public abstract class SG_BenchMarker<T>
98
{
109
private readonly Func<T, Dictionary<string, AttributeValue>> _marshaller;

tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarkers/SG_VS_AWS_Benchmarker.cs renamed to tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/SG_VS_AWS_Benchmarker.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
using Amazon.DynamoDBv2.Model;
66
using BenchmarkDotNet.Attributes;
77

8-
namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarkers;
8+
namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks;
99

1010
public abstract class SG_VS_AWS_Benchmarker<T>(
1111
Func<T, Dictionary<string, AttributeValue>> marshaller,

tests/DynamoDBGenerator.SourceGenerator.Benchmarks/DynamoDBGenerator.SourceGenerator.Benchmarks.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,8 @@
1717
<ProjectReference Include="..\..\src\DynamoDBGenerator\DynamoDBGenerator.csproj"/>
1818
<ProjectReference Include="..\..\src\DynamoDBGenerator.SourceGenerator\DynamoDBGenerator.SourceGenerator.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false"/>
1919
</ItemGroup>
20+
21+
<ItemGroup>
22+
<Folder Include="Benchmarks\Marshalling\" />
23+
</ItemGroup>
2024
</Project>
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
BenchmarkDotNet.Running.BenchmarkRunner.Run(typeof(Program).Assembly);
1+
using BenchmarkDotNet.Running;
2+
3+
BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(args);

0 commit comments

Comments
 (0)