# AWS Lambda Java incremental improvements 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 ## Description of functions and improvements *Requires no code changes* 0. Baseline 1. Memory optimized - uses 2GB 2. Package as UberJar 3. Package as a zipped UberJar 4. Use Tiered Compilation optimization *Requires code changes* 5. Use eager initialization of handler dependencies 6. Apply AWS SDK optimizations (credentials/region resoltion, Http Client etc) 7. Apply multi threading 8. AWS Kotlin SDK 9. CrtHttpClient *Advanced* 10. AWS SDK warmup call 11. GraalVM ## Getting started Download or clone the repository. Install [AWS CDK ](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html) Deploy: ```bash ./deploy.sh ``` ## Security See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information. ## License This library is licensed under the MIT-0 License. See the LICENSE file.