뭐 코드를 자세히 들여다보진 않았지만, C++과 JAVA라면 그 정도 차이는 날 수 있습니다.
일단 JAVA에서는 배열형이 연속된 메모리에 배치된다는 Guarantee가 없습니다. 이 말은 캐시 메모리의 효과를 기대할 수 없다는 것이죠.
그리고 자바의 JIT 컴파일러가 프로파일링을 바탕으로 최적화된 코드를 생성하기 위해서는 꽤 많은 반복수행을 필요로 합니다. 수행시간이 짧을 수밖에 없는 경시 환경에서는 제대로 동작할래야 할 수가 없지요.
사실상 인터프리터 모드로 돌아야 하므로 10배밖에 차이가 안 나면 오히려 JAVA가 상당히 빠른 것임을 알 수 있는거죠.
dbtmddus112 6년 전
예전에 풀어서 맞췄던 문제였는데, 최근 다시 돌려보니 계속 시간초과가 뜨길래
잘하는 분들은 어떻게 풀었나 하고 숏코딩 1위에 있는 분 소스를 보고
소스를 수정해봤습니다.
제가 본 소스는 c++ 소스이고 (cubalys 님 작성 소스),
제가 짠 소스는 java소스인데, 아무리 똑같이 구현을 해봐도 수행시간이 10배 이상 차이가 나네요
아래 두 소스가 어떻게 다르길래 수행시간이 10배 이상 나는건가요??
자바가 c++보다 느리다고 해도 이정도 차이가 나나요??
아니면 제가 잘못 구현한 부분이 있나요??