카테고리 없음
golang은 정말 빠른걸까?
sh0seo
2020. 11. 28. 00:10
golang은 컴파일된 바이너리로 실행되기 때문에 java처럼 가상 머신에서 동작하는 언어보다 당연히 빠를 거라고 생각을 했다.
그런데 얼마전 stackoverflow에 java와 golang의 정렬을 비교했는데, golang이 느리다는 것이다.
Why is my Go array sorting code much slower than Java?
After migrating one of my computing heavy backend programs from Java to Go, I find that the performance degraded instead of improving. I tested around some and it seems the array sorting code is the
stackoverflow.com
테스트는 이렇다. 임의로 큰 float64 타입의 배열을 생성 후에, 랜덤값을 배열을 모두 채운다.
그리고 생성한 배열을 API에서 제공하는 정렬 기능으로 배열을 정렬하고 시간을 비교하는 것이다.
테스트 결과는 java가 매우 빠르다.
// java
0.3590694
1.6030528
0.10000905418967532
// go
233.1957ms
5.4633992s
Number: 0.10002801819954663
단순 비교를 통해 언어의 우위는 의미가 없다고 생각한다. 다만 가상머신에서 동작하는 java라고 느리다는 편견은 갖지 말아야겠다.