1+ using Amazon . DynamoDBv2 . Model ;
2+ using BenchmarkDotNet . Attributes ;
3+ using DynamoDBGenerator . Attributes ;
4+
5+ namespace DynamoDBGenerator . SourceGenerator . Benchmarks . Benchmarks . Marshalling ;
6+
7+ [ DynamoDBMarshaller ( EntityType = typeof ( Container < bool > ) , AccessName = "BooleanMarshaller" ) ]
8+ [ DynamoDBMarshaller ( EntityType = typeof ( Container < char > ) , AccessName = "CharMarshaller" ) ]
9+ [ DynamoDBMarshaller ( EntityType = typeof ( Container < int > ) , AccessName = "Int32Marshaller" ) ]
10+ [ DynamoDBMarshaller ( EntityType = typeof ( Container < long > ) , AccessName = "Int64Marshaller" ) ]
11+ [ DynamoDBMarshaller ( EntityType = typeof ( Container < string > ) , AccessName = "StringMarshaller" ) ]
12+ [ DynamoDBMarshaller ( EntityType = typeof ( Container < uint > ) , AccessName = "UInt32Marshaller" ) ]
13+ [ DynamoDBMarshaller ( EntityType = typeof ( Container < ulong > ) , AccessName = "UInt64Marshaller" ) ]
14+ [ DynamoDBMarshaller ( EntityType = typeof ( Container < Guid > ) , AccessName = "GuidMarshaller" ) ]
15+ [ DynamoDBMarshaller ( EntityType = typeof ( Container < DayOfWeek > ) , AccessName = "EnumMarshaller" ) ]
16+ [ DynamoDBMarshaller ( EntityType = typeof ( Container < double > ) , AccessName = "DoubleMarshaller" ) ]
17+ public partial class PrimitiveBenchmarks
18+ {
19+ private readonly DynamoDbMarshallerBenchmarkHelper < Container < bool > , Container < bool > , ContainerboolNames , ContainerboolValues > _bool = BooleanMarshaller . ToBenchmarkHelper ( ) ;
20+ private readonly DynamoDbMarshallerBenchmarkHelper < Container < char > , Container < char > , ContainercharNames , ContainercharValues > _char = CharMarshaller . ToBenchmarkHelper ( ) ;
21+ private readonly DynamoDbMarshallerBenchmarkHelper < Container < int > , Container < int > , ContainerintNames , ContainerintValues > _int = Int32Marshaller . ToBenchmarkHelper ( ) ;
22+ private readonly DynamoDbMarshallerBenchmarkHelper < Container < long > , Container < long > , ContainerlongNames , ContainerlongValues > _long = Int64Marshaller . ToBenchmarkHelper ( ) ;
23+ private readonly DynamoDbMarshallerBenchmarkHelper < Container < string > , Container < string > , ContainerstringNames , ContainerstringValues > _string = StringMarshaller . ToBenchmarkHelper ( ) ;
24+ private readonly DynamoDbMarshallerBenchmarkHelper < Container < uint > , Container < uint > , ContaineruintNames , ContaineruintValues > _uint = UInt32Marshaller . ToBenchmarkHelper ( ) ;
25+ private readonly DynamoDbMarshallerBenchmarkHelper < Container < ulong > , Container < ulong > , ContainerulongNames , ContainerulongValues > _ulong = UInt64Marshaller . ToBenchmarkHelper ( ) ;
26+ private readonly DynamoDbMarshallerBenchmarkHelper < Container < Guid > , Container < Guid > , ContainerGuidNames , ContainerGuidValues > _guid = GuidMarshaller . ToBenchmarkHelper ( ) ;
27+ private readonly DynamoDbMarshallerBenchmarkHelper < Container < DayOfWeek > , Container < DayOfWeek > , ContainerDayOfWeekNames , ContainerDayOfWeekValues > _enum = EnumMarshaller . ToBenchmarkHelper ( ) ;
28+ private readonly DynamoDbMarshallerBenchmarkHelper < Container < double > , Container < double > , ContainerdoubleNames , ContainerdoubleValues > _double = DoubleMarshaller . ToBenchmarkHelper ( ) ;
29+
30+ [ Benchmark ]
31+ public Container < bool > Unmarshall_Bool ( ) => _bool . Unmarshall ( ) ;
32+
33+ [ Benchmark ]
34+ public Dictionary < string , AttributeValue > Marshall_Bool ( ) => _bool . Marshall ( ) ;
35+
36+ [ Benchmark ]
37+ public Container < char > Unmarshall_Char ( ) => _char . Unmarshall ( ) ;
38+
39+ [ Benchmark ]
40+ public Dictionary < string , AttributeValue > Marshall_Char ( ) => _char . Marshall ( ) ;
41+
42+ [ Benchmark ]
43+ public Container < int > Unmarshall_Int32 ( ) => _int . Unmarshall ( ) ;
44+
45+ [ Benchmark ]
46+ public Dictionary < string , AttributeValue > Marshall_Int ( ) => _int . Marshall ( ) ;
47+
48+ [ Benchmark ]
49+ public Container < long > Unmarshall_Int64 ( ) => _long . Unmarshall ( ) ;
50+
51+ [ Benchmark ]
52+ public Dictionary < string , AttributeValue > Marshall_Int64 ( ) => _long . Marshall ( ) ;
53+
54+ [ Benchmark ]
55+ public Container < string > Unmarshall_String ( ) => _string . Unmarshall ( ) ;
56+
57+ [ Benchmark ]
58+ public Dictionary < string , AttributeValue > Marshall_String ( ) => _string . Marshall ( ) ;
59+
60+ [ Benchmark ]
61+ public Container < uint > Unmarshall_UInt32 ( ) => _uint . Unmarshall ( ) ;
62+
63+ [ Benchmark ]
64+ public Dictionary < string , AttributeValue > Marshall_UInt32 ( ) => _uint . Marshall ( ) ;
65+
66+ [ Benchmark ]
67+ public Container < ulong > Unmarshall_UInt64 ( ) => _ulong . Unmarshall ( ) ;
68+
69+ [ Benchmark ]
70+ public Dictionary < string , AttributeValue > Marshall_Uint64 ( ) => _ulong . Marshall ( ) ;
71+
72+ [ Benchmark ]
73+ public Container < Guid > Unmarshall_Guid ( ) => _guid . Unmarshall ( ) ;
74+
75+ [ Benchmark ]
76+ public Dictionary < string , AttributeValue > Marshall_Guid ( ) => _guid . Marshall ( ) ;
77+
78+ [ Benchmark ]
79+ public Container < DayOfWeek > Unmarshall_Enum ( ) => _enum . Unmarshall ( ) ;
80+
81+ [ Benchmark ]
82+ public Dictionary < string , AttributeValue > Marshall_Enum ( ) => _enum . Marshall ( ) ;
83+
84+ [ Benchmark ]
85+ public Container < double > Unmarshall_Double ( ) => _double . Unmarshall ( ) ;
86+
87+ [ Benchmark ]
88+ public Dictionary < string , AttributeValue > Marshall_Double ( ) => _double . Marshall ( ) ;
89+ }
0 commit comments