Java vs C++: 속도 비교

arch linux에서 openjdk10으로 4k FFT를 compile/run 해본 결과 C++대비 5배 더 많은 시간이 걸렸다. 그러니까 거꾸로 보면 C++이 java대비 5배 빠르다. java는 계산이 많이 필요하지 않은 일 - user interface(??)에 적당한 언어라고 봐도 되는 것인가? python에 비하면 엄청나게 빠른 것이니까 나름대로의 용도를 인정해주어야 맞을 듯 하다. swift에서는 훨씬 더 느렸고 python에서는 그냥 비교 자체가 의미없을 정도로 느렸다. 다시 말해 java 정도면 굉장히 빠른 편이고 C#은 컴파일러/라이브러리들이 좋은 탓인지 C/C++와 큰 차이가 없었다.

어차피 C++/C를 쓸 수 있는 사람이 일부러 java를 쓸 이유는 없다. java를 쓰지 않으면 안되는 경우를 빼면. 그런데 C/C++로 못하는 일이라는 게 있나 싶다. 다만 언어 자체가 지금에와서 보면 실수를 덜 용납하는, 그러니까 하드웨어에 더 가까운 언어가 되어버려서 융통성이나 확장성에 있어서는 요새 유행하는 언어에 비해 떨어진다고는 볼 수 있지만. 스크립트 언어에 가까운 nodejs라든가 python을 보면 커뮤니티가 발전해서 마치 뭔가 필요하면 자판기에서 맘에 드는 걸 골라와서 쉽게 조립할 수 있는 수준으로 편리해졌으니까 그런 면에서는 C/C++이 낫다고 할 말이 없다만.