This repository contains AWS Lambda functions with incremental improvements for Java. The improvement ranging from high level no-code changes to experimental changes that will very likely increase the performance of your workload.
All the deployed functions in this sample performs the same task: Store a "product" in a DynamoDB Table and in an S3 bucket
Requires no code changes
- Baseline
- Memory optimized - uses 2GB
- Package as UberJar
- Package as a zipped UberJar
- Use Tiered Compilation optimization
Requires code changes
- Use eager initialization of handler dependencies
- Apply AWS SDK optimizations (credentials/region resoltion, Http Client etc)
- Apply multi threading
- AWS Kotlin SDK
- CrtHttpClient
Advanced
- AWS SDK warmup call
- GraalVM
Download or clone the repository.
Install AWS CDK
Deploy:
./deploy.sh
See CONTRIBUTING for more information.
This library is licensed under the MIT-0 License. See the LICENSE file.