게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
실제로 2.5G 번의 연산을 하려면 2.5Ghz의 cpu로 1초 걸려요?
게시물ID : programmer_4711짧은주소 복사하기
작성자 : 글랜피딕
추천 : 1
조회수 : 805회
댓글수 : 22개
등록시간 : 2014/07/26 21:40:21
옵션
  • 본인삭제금지

fibonacci_source.PNG
fibonacci_memory.PNG
fibonacci_result.PNG


연산은 싱글스레드라 가정하겠습니다.

궁금증이 생겨서 간단히 자바로 간단한 피보나치 재귀함수를 짜서 테스트를 해봤습니다

소스코드 보시면 연산량이 O(2^n) 으로 증가합니다.

입력값에 45를 집어넣었으므로 연산량이 2^45  , 대략 10^4 * 2^5 = 32테라정도가 나옵니다.

2.5Ghz의 클럭으로 10000초는 걸려야 한다는게 이론적인 계산인데, 실제로는 대략 14초 정도가 나오네요

자바 VM에서 메모이제이션같은 알고리즘을 자동적으로 적용해서 연산량이 줄어드는건지 제 이론이 틀린건지 궁금합니다.

덧붙이자면,  입력값 40정도에서 1초가 나왔고, 입력값이 1 증가하면 1.7배씩 증가하는것같습니다.

1.7^45 = 2.3E10 이네요.


전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호