Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ public String get(AttributeValue value) {
}
@Override
public AttributeValue build(String o) {
return AttributeValue.builder().s(o).build();
return AttributeValue.createS(o);
}
@Override
public AttributeValue convert(String o) {
Expand Down Expand Up @@ -288,7 +288,7 @@ public String get(AttributeValue value) {
}
@Override
public AttributeValue build(String o) {
return AttributeValue.builder().n(o).build();
return AttributeValue.createN(o);
}
}

Expand All @@ -314,7 +314,7 @@ public Long get(AttributeValue value) {
}
@Override
public AttributeValue build(Long o) {
return AttributeValue.builder().n(String.valueOf(o)).build();
return AttributeValue.createN(String.valueOf(o));
}
}

Expand All @@ -339,7 +339,7 @@ public ByteBuffer get(AttributeValue value) {
}
@Override
public AttributeValue build(ByteBuffer o) {
return AttributeValue.builder().b(SdkBytes.fromByteBuffer(o)).build();
return AttributeValue.createB(SdkBytes.fromByteBuffer(o));
}
}

Expand All @@ -364,7 +364,7 @@ public List<String> get(AttributeValue value) {
}
@Override
public AttributeValue build(List<String> o) {
return AttributeValue.builder().ss(o).build();
return AttributeValue.createSs(o);
}
}

Expand All @@ -389,7 +389,7 @@ public List<String> get(AttributeValue value) {
}
@Override
public AttributeValue build(List<String> o) {
return AttributeValue.builder().ns(o).build();
return AttributeValue.createNs(o);
}
}

Expand Down Expand Up @@ -426,7 +426,7 @@ public AttributeValue build(List<ByteBuffer> o) {
for (ByteBuffer bb : o) {
sdkBytes.add(SdkBytes.fromByteBuffer(bb));
}
return AttributeValue.builder().bs(sdkBytes).build();
return AttributeValue.createBs(sdkBytes);
}
}

Expand Down Expand Up @@ -474,7 +474,7 @@ public Boolean get(AttributeValue o) {
}
@Override
public AttributeValue build(Boolean value) {
return AttributeValue.builder().bool(value).build();
return AttributeValue.createBool(value);
}
@Override
public Boolean unconvert(AttributeValue o) {
Expand Down Expand Up @@ -522,7 +522,7 @@ public String get(AttributeValue o) {
*/
@Override
public AttributeValue build(String value) {
return AttributeValue.builder().n(value).build();
return AttributeValue.createN(value);
}
}

Expand All @@ -547,7 +547,7 @@ public List<AttributeValue> get(AttributeValue value) {
}
@Override
public AttributeValue build(List<AttributeValue> o) {
return AttributeValue.builder().l(o).build();
return AttributeValue.createL(o);
}
}

Expand Down Expand Up @@ -592,7 +592,7 @@ public List<AttributeValue> get(AttributeValue value) {
}
@Override
public AttributeValue build(List<AttributeValue> o) {
return AttributeValue.builder().l(o).build();
return AttributeValue.createL(o);
}
}

Expand Down Expand Up @@ -620,7 +620,7 @@ public Map<String,AttributeValue> get(AttributeValue value) {
}
@Override
public AttributeValue build(Map<String,AttributeValue> o) {
return AttributeValue.builder().m(o).build();
return AttributeValue.createM(o);
}
}

Expand Down Expand Up @@ -656,7 +656,7 @@ public Map<String,AttributeValue> get(AttributeValue value) {
}
@Override
public AttributeValue build(Map<String,AttributeValue> o) {
return AttributeValue.builder().m(o).build();
return AttributeValue.createM(o);
}
}

Expand Down Expand Up @@ -695,7 +695,7 @@ private <S> DynamoDBTypeConverter<S,T> getConverter(Class<S> sourceType, Convert
private DynamoDBTypeConverter<AttributeValue,T> getConverter(ConvertibleType<T> type) {
return new DelegateConverter<AttributeValue,T>(getRule(type).newConverter(type)) {
public final AttributeValue convert(T o) {
return o == null ? AttributeValue.builder().nul(true).build() : super.convert(o);
return o == null ? AttributeValue.createNul(true) : super.convert(o);
}
};
}
Expand Down
6 changes: 6 additions & 0 deletions test/sdk-benchmarks/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,12 @@
<version>${awsjavasdk.version}</version>
</dependency>

<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>dynamodb-mapper</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>

<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-ec2</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@
@Fork(2)
@State(Scope.Benchmark)
public class EnhancedClientDeleteV1MapperComparisonBenchmark {
private static final V2MapperItemFactory V2_MAPPER_ITEM_FACTORY = new V2MapperItemFactory();

@Benchmark
public void v2Delete(TestState s) {
s.v2Table.deleteItem(s.key);
Expand All @@ -50,6 +52,11 @@ public void v1Delete(TestState s) {
s.v1DdbMapper.delete(s.testItem.v1Key);
}

@Benchmark
public void v2MapperDelete(TestState s) {
s.v2DdbMapper.delete(s.testItem.v2MapperKey);
}

private static DynamoDbClient getV2Client(Blackhole bh) {
return new V2TestDynamoDbDeleteItemClient(bh);
}
Expand All @@ -67,51 +74,61 @@ public static class TestState {

private DynamoDbTable v2Table;
private DynamoDBMapper v1DdbMapper;

private software.amazon.awssdk.mapper.dynamodb.DynamoDBMapper v2DdbMapper;

@Setup
public void setup(Blackhole bh) {
DynamoDbClient v2Client = getV2Client(bh);
DynamoDbEnhancedClient v2DdbEnh = DynamoDbEnhancedClient.builder()
.dynamoDbClient(getV2Client(bh))
.dynamoDbClient(v2Client)
.build();

v2Table = v2DdbEnh.table(testItem.name(), testItem.schema);
v2DdbMapper = new software.amazon.awssdk.mapper.dynamodb.DynamoDBMapper(v2Client);

v1DdbMapper = new DynamoDBMapper(getV1Client(bh));
}

public enum TestItem {
TINY(
V2ItemFactory.TINY_BEAN_TABLE_SCHEMA,
V2_MAPPER_ITEM_FACTORY.v2MapperTinyBean(),
new V1ItemFactory.V1TinyBean("hashKey")
),

SMALL(
V2ItemFactory.SMALL_BEAN_TABLE_SCHEMA,
V2_MAPPER_ITEM_FACTORY.v2MapperSmallBean(),
new V1ItemFactory.V1SmallBean("hashKey")
),

HUGE(
V2ItemFactory.HUGE_BEAN_TABLE_SCHEMA,
V2_MAPPER_ITEM_FACTORY.v2MapperHugeBean(),
new V1ItemFactory.V1HugeBean("hashKey")

),

HUGE_FLAT(
V2ItemFactory.HUGE_BEAN_FLAT_TABLE_SCHEMA,
V2_MAPPER_ITEM_FACTORY.v2MapperHugeBeanFlat(),
new V1ItemFactory.V1HugeBeanFlat("hashKey")
),
;

// V2
// Enhanced Client
private TableSchema schema;
// Mapper v2
private Object v2MapperKey;

// V1
private Object v1Key;

TestItem(TableSchema<?> schema,
Object v1Key) {
Object v2MapperKey,
Object v1Key) {
this.schema = schema;
this.v2MapperKey = v2MapperKey;

this.v1Key = v1Key;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
@State(Scope.Benchmark)
public class EnhancedClientGetV1MapperComparisonBenchmark {
private static final V2ItemFactory V2_ITEM_FACTORY = new V2ItemFactory();
private static final V2MapperItemFactory V2_MAPPER_ITEM_FACTORY = new V2MapperItemFactory();
private static final V1ItemFactory V1_ITEM_FACTORY = new V1ItemFactory();

@Benchmark
Expand All @@ -55,6 +56,11 @@ public Object v1Get(TestState s) {
return s.v1DdbMapper.load(s.testItem.v1Key);
}

@Benchmark
public Object v2MapperGet(TestState s) {
return s.v2DdbMapper.load(s.testItem.v2MapperKey.getClass(), "hashKey");
}

private static DynamoDbClient getV2Client(Blackhole bh, GetItemResponse getItemResponse) {
return new V2TestDynamoDbGetItemClient(bh, getItemResponse);
}
Expand All @@ -72,15 +78,17 @@ public static class TestState {

private DynamoDbTable<?> v2Table;
private DynamoDBMapper v1DdbMapper;

private software.amazon.awssdk.mapper.dynamodb.DynamoDBMapper v2DdbMapper;

@Setup
public void setup(Blackhole bh) {
DynamoDbClient v2Client = getV2Client(bh, testItem.v2Response);
DynamoDbEnhancedClient v2DdbEnh = DynamoDbEnhancedClient.builder()
.dynamoDbClient(getV2Client(bh, testItem.v2Response))
.dynamoDbClient(v2Client)
.build();

v2Table = v2DdbEnh.table(testItem.name(), testItem.schema);
v2DdbMapper = new software.amazon.awssdk.mapper.dynamodb.DynamoDBMapper(v2Client);

v1DdbMapper = new DynamoDBMapper(getV1Client(bh, testItem.v1Response));
}
Expand All @@ -89,6 +97,7 @@ public enum TestItem {
TINY(
V2ItemFactory.TINY_BEAN_TABLE_SCHEMA,
GetItemResponse.builder().item(V2_ITEM_FACTORY.tiny()).build(),
V2_MAPPER_ITEM_FACTORY.v2MapperTinyBean(),

new V1ItemFactory.V1TinyBean("hashKey"),
new GetItemResult().withItem(V1_ITEM_FACTORY.tiny())
Expand All @@ -97,6 +106,7 @@ public enum TestItem {
SMALL(
V2ItemFactory.SMALL_BEAN_TABLE_SCHEMA,
GetItemResponse.builder().item(V2_ITEM_FACTORY.small()).build(),
V2_MAPPER_ITEM_FACTORY.v2MapperSmallBean(),

new V1ItemFactory.V1SmallBean("hashKey"),
new GetItemResult().withItem(V1_ITEM_FACTORY.small())
Expand All @@ -105,6 +115,7 @@ public enum TestItem {
HUGE(
V2ItemFactory.HUGE_BEAN_TABLE_SCHEMA,
GetItemResponse.builder().item(V2_ITEM_FACTORY.huge()).build(),
V2_MAPPER_ITEM_FACTORY.v2MapperHugeBean(),

new V1ItemFactory.V1HugeBean("hashKey"),
new GetItemResult().withItem(V1_ITEM_FACTORY.huge())
Expand All @@ -113,27 +124,33 @@ public enum TestItem {
HUGE_FLAT(
V2ItemFactory.HUGE_BEAN_FLAT_TABLE_SCHEMA,
GetItemResponse.builder().item(V2_ITEM_FACTORY.hugeFlat()).build(),
V2_MAPPER_ITEM_FACTORY.v2MapperHugeBeanFlat(),

new V1ItemFactory.V1HugeBeanFlat("hashKey"),
new GetItemResult().withItem(V1_ITEM_FACTORY.hugeFlat())
),
;

// V2
// Enhanced Client
private TableSchema<?> schema;
private GetItemResponse v2Response;

// Mapper v2
private Object v2MapperKey;

// V1
private Object v1Key;
private GetItemResult v1Response;

TestItem(TableSchema<?> schema,
GetItemResponse v2Response,
GetItemResponse v2Response,
Object v2MapperKey,

Object v1Key,
GetItemResult v1Response) {
Object v1Key,
GetItemResult v1Response) {
this.schema = schema;
this.v2Response = v2Response;
this.v2MapperKey = v2MapperKey;

this.v1Key = v1Key;
this.v1Response = v1Response;
Expand Down
Loading
Loading