golang은 컴파일된 바이너리로 실행되기 때문에 java처럼 가상 머신에서 동작하는 언어보다 당연히 빠를 거라고 생각을 했다.
그런데 얼마전 stackoverflow에 java와 golang의 정렬을 비교했는데, golang이 느리다는 것이다.
테스트는 이렇다. 임의로 큰 float64 타입의 배열을 생성 후에, 랜덤값을 배열을 모두 채운다.
그리고 생성한 배열을 API에서 제공하는 정렬 기능으로 배열을 정렬하고 시간을 비교하는 것이다.
테스트 결과는 java가 매우 빠르다.
// java
0.3590694
1.6030528
0.10000905418967532
// go
233.1957ms
5.4633992s
Number: 0.10002801819954663
단순 비교를 통해 언어의 우위는 의미가 없다고 생각한다. 다만 가상머신에서 동작하는 java라고 느리다는 편견은 갖지 말아야겠다.