마음만은 새내기

항상 초심을 잃지 않고 생활하겠습니다~!

프로그래밍

각 언어별 성능 테스트!! : 3. (기본 언어) 연산 성능 편

동동매니저 2019. 8. 23. 19:09
안녕하세요~!
지난 글에 이어서, 이번에는 언어별 연산 성능 테스트에 관한 글을 올려요~!

[관련 글]

★ 연산 성능 테스트
※ 테스트 방법 : N 이하의 수 중에서 소수의 개수를 구하기, N=1000만
※ 테스트 언어 : C, C++, Java, Python 3, Pascal
※ 테스트 구분 : 일반 구현, 동적 계획법(DP)
※ 테스트 결과 (언어, 계산 방법, 평균 시간 순)

1위!!!
언어 : C
계산 방법 : 동적 계획법
평균 시간 : 688.0 ms

2위!!
언어 : C++
계산 방법 : 동적 계획법
평균 시간 : 694.6 ms
참고 사항 : 아주 근소한 시간 차이...

3위!
언어 : Java
계산 방법 : 동적 계획법
평균 시간 : 703.6 ms
참고 사항 : 입출력은 느리지만... 연산은 그나마...

4위.
언어 : C++
계산 방법 : 일반 구현
평균 시간 : 1791.0 ms
참고 사항 : 확실히 DP가 빠른 듯...

5위.
언어 : C
계산 방법 : 일반 구현
평균 시간 : 1797.1 ms

6위.
언어 : Pascal
계산 방법 : 동적 계획법
평균 시간 : 2218.0 ms
참고 사항 : 같은 DP인데도 언어마다 차이가 있음.

7위.
언어 : Java
계산 방법 : 일반 구현
평균 시간 : 2347.2 ms

8위.
언어 : Pascal
계산 방법 : 일반 구현
평균 시간 : 6531.1 ms

9위.
언어 : Python 3
계산 방법 : 동적 계획법
평균 시간 : 34407.2 ms
참고 사항 : Python 3으로 구현한 DP인데... 확실히 느림.

10위.
언어 : Python 3
계산 방법 : 일반 구현
평균 시간 : 124837.0 ms
참고 사항 : 인터프리터 언어의 위엄...... 확실히 느림.

※ 동적 계획법 : 나머지 연산을 할 때, 미리 구해둔 소수로만 나누어 보면서 소수 여부를 판정
특히 Python 3은 인터프리터 언어라서 그런지... 확실히 느린 것을 확인 할 수 있었어요...

[필자의 현재 진행 상황!!]
★ 기본 언어의 정렬 테스트 : 테스트 완료 및 결과 정리 중
★ 추가 언어 목록
※ Ruby : 테스트 완료
※ Kotlin (Native) : 테스트 완료
※ Go : 정렬 테스트 진행 중 (입력 속도가 꽤 느리다는 것은 안비밀...)
※ Cobol : 테스트 예정
※ Lisp : 테스트 예정
(기타 등등...)

특히, Cobol과 Lisp의 경우, 이번에 수강 신청을 한 '프로그래밍 언어론' 수업의 과제로도 나올 가능성이 있어서 추가를 했어요...

앞으로도 다양한 프로그래밍 언어를 습득하는 날이 오기를 바라면서...
그럼 20000~!