Loading repository data…
Loading repository data…
rayyildiz / repository
This repository contains code samples and performance comparisons for AWS Lambda functions implemented in go, c# and javascript
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
This repository contains code samples and performance comparisons for AWS Lambda functions implemented in different programming languages. The purpose of this repo is to evaluate the performance of AWS Lambda functions written in Go, C#, and Node.js.
This repository contains code samples and configuration files for saving login logs into a PostgreSQL relational database running on AWS RDS using AWS Lambda.
AWS Lambda is a serverless computing service that allows you to run your code without provisioning or managing servers. It supports multiple programming languages, including Go, C#, and Node.js, among others. However, the performance characteristics of Lambda functions can vary depending on the programming language used.
This repository aims to compare the performance of Lambda functions implemented in Go, C#, and Node.js. By measuring factors such as cold start latency, execution time, and memory utilization, we can gain insights into the performance trade-offs between these programming languages when running on AWS Lambda.
Create login logs table.
create table if not exists user_login_reports
(
id text not null primary key,
user_pool_id text,
cognito_user_id text,
region text,
email text,
user_attributes text,
created_on_utc timestamp default now()
);
Test event can be found here
To test the login logging system, follow these steps:
All mesasurements are in millisecond ( ms )
| Language | 128mb | 256mb | 512mb |
|---|---|---|---|
| Go | 488 | 235 | 129 |
| Node | 297 | 128 | 52 |
| C# | 6990 | 3417 | 1660 |
| Language | 128mb | 256mb | 512mb |
|---|---|---|---|
| Go | 5 | 4 | 3 |
| Node | 234 | 102 | 36 |
| C# | 62 | 42 | 8 |
Versions:
The tests were repeated 10 times and the averages were taken.
Based on the performance tests conducted in this study, the following conclusions can be drawn:
The choice of programming language for AWS Lambda functions should consider the specific requirements of the application, such as response time, resource consumption, and developer familiarity.
Of course, different results can be obtained by optimizing the code, but we tested the applications we wrote as soon as possible. AWS may be making optimizations over time. Finally, it may be possible to achieve different results in different use cases.
Java is excluded due to memory requirement. In the first test results, java gave a bad result in these memory configurations.
This project is licensed under the MIT License. Please see the LICENSE file for more details.