본문

[2017.10.02] 29. Calculator 프로젝트 성능(속도) 비교

테스트의 목적

Calculator 프로젝트를 2가지 방법으로 완성했고

Stack을 사용한 Calculator(http://heepie.tistory.com/65) Stack을 사용하지 않은 Calculator(http://heepie.tistory.com/66)의 성능을 비교해 효율적인 방법을 알아본다.


테스트 데이터

(16/4 + 2) X 3 - ((7+9) / 4 + 2)

를 1개의 테스트 데이터라 정의한다. 

테스트 데이터를 반복 계산한 시간으로 성능을 비교한다.

예를 들어, 반복 횟수가 5번이라면 

Default로 1번 계산5번을 추가 계산한다.

(16/4 + 2) X 3 - ((7+9) / 4 + 2) +

(16/4 + 2) X 3 - ((7+9) / 4 + 2) +

(16/4 + 2) X 3 - ((7+9) / 4 + 2) +

(16/4 + 2) X 3 - ((7+9) / 4 + 2) +

(16/4 + 2) X 3 - ((7+9) / 4 + 2) +

(16/4 + 2) X 3 - ((7+9) / 4 + 2) +

를 계산한 실행 시간을 구한다.


테스트 환경

구분

성능

OS

macOS Sierra Version 10.12.5

CPU

2.9 GHz i5

RAM

16GB

※ 안드로이드로 구현했지만, 성능 비교는 이클립스를 활용하는 것이 효율적이라고 판단해 이클립스로 진행했다.


테스트 결과

Stack USE

No Stack


확실히 Stack을 사용해 중위 순회를 후위순회로 변경 후 1번에 계산하는 방법

Stack을 사용하지 않고 sub결과를 반복적으로 계산하는 것보다 빠르다.


속도면에서는 Stack을 사용하는 것이 빠르다. 하지만 메모리적은 측면에서는 테스트를 진행해봐야 겠다.



#성능비교 #계산기 프로그램 #Calculator 성능

공유

댓글