# AWS Lambda 런타임별 Cold/Warm 시작 시간 비교 2021/09

> Clean Markdown view of GeekNews topic #5191. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=5191](https://news.hada.io/topic?id=5191)
- GeekNews Markdown: [https://news.hada.io/topic/5191.md](https://news.hada.io/topic/5191.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2021-10-14T09:22:02+09:00
- Updated: 2021-10-14T09:22:02+09:00
- Original source: [filia-aleks.medium.com](https://filia-aleks.medium.com/aws-lambda-battle-2021-performance-comparison-for-all-languages-c1b441005fd1)
- Points: 12
- Comments: 5

## Topic Body

- API-Gateway → AWS Lambda → DynamoDB 플로우로 POST 메소드를 테스트

- 메모리 128/256/512/1024/10240MB 각각 테스트

- Cold Start

ㅤ→ 전체적으로 Rust가 가장 빠름. 128Mb에서만 Python이 1등

ㅤ→ Java 와 .NET을 제외하고는 대부분 빠름

ㅤ→ Java는 128Mb로는 시작도 불가능이지만, GraalVM은 가능

- Warm Start

ㅤ→ Golang 과 Rust 가 승리자

ㅤ→ .Net도 Go/Rust와 거의 비슷한 성능을 보여주지만, 1k 반복실행 후에만 가능(JIT 이후)

ㅤ→ GraalVM도 .Net과 비슷한 안정적인 성능을 보여주고, Rust/Go 보다는 약간 느림. 최소 셋업에서는 잘 동작하지 않음

ㅤ→ Java가 GraalVM 바로 뒤. Java 역시 .Net처럼 1~3k 반복후에만 성능이 나옴

ㅤ→ Python이 안정적인 좋은 성능을 보이지만, 128MB에서는 너무 느림

ㅤ→ Ruby 는 Python과 비슷한 성능을 보이지만, 20분 정도(15k 반복)후에는 약간의 지속시간(duration)이 증가함

ㅤ→ Node.js 가 가장 느린 런타임. 지속시간도 가장 김

- Cold + Warm 으로 보면 Golang 과 Rust가 승리자. 항상 빠르고 안정적인 결과를 보여줌

- 비교 런타임 : NodeJs(14.x), Python(3.9), Go(1.x), Ruby(2.7), .Net(3.1), Java (11), Rust(1.54.0), GraalVM(21.2)

## Comments



### Comment 7273

- Author: ehlegeth
- Created: 2021-10-14T18:32:07+09:00
- Points: 1

대충 보기는 했지만,

Rust, Golang ~~ Python, Ruby 구도는 일반적인 기대와 크게 다르지 않은 것 같기는 하고...

Java가 VM 뜨는 비용이 없고 JIT 적용되어도 느린 것은 조금 의외이긴 하네요.

Node.js도 JIT 후에는 빠르다고 생각했는데 느린 결과가 나왔네요.

Lambda가 동작하는 아키텍쳐나 가상화 스택 이런 게 달라서 그런걸까나요..

### Comment 7275

- Author: ehlegeth
- Created: 2021-10-14T18:35:53+09:00
- Points: 1
- Parent comment: 7273
- Depth: 1

성능 테스트에는 영향 줄 수 있는 요소가 너무 많기는 해서 너무 심각하게 결과를 받아들이지는 않아도 될 것 같기도 하구요... ㅎㅎㅎ

### Comment 7272

- Author: eajrezz
- Created: 2021-10-14T18:12:05+09:00
- Points: 1

golang이 승자 아닐까요? ㅎㅎ

### Comment 7274

- Author: ehlegeth
- Created: 2021-10-14T18:33:26+09:00
- Points: 1
- Parent comment: 7272
- Depth: 1

네, 그런 결과 같네요.

클라우드 환경에서 golang을 써본 건 아니지만, 클라우드 환경에 딱 맞는 것 같다는 생각이 들어요.

### Comment 7268

- Author: codufdl
- Created: 2021-10-14T09:26:17+09:00
- Points: 1

Rust 너무 매력적이네요 책 사놓고 안보고 있었는데 호기심에 불이 확 댕겨집니다 ㅎㅎ
