diff --git a/README.md b/README.md index d5e7add94f7882241d4372264f159f49e6a9ddd7..833be7a9159a87c467b248398afd7636c9345883 100644 --- a/README.md +++ b/README.md @@ -263,11 +263,13 @@ fx_s1516_longlong_div2: 142857 ## Functions Speed Comparison +각 함수의 속도를 검증하기 위해 ```gcc -pg``` 을 사용해 컴파일하여 실행 파일을 만들고 실행한 뒤 ```gprof``` 명령어를 통해 함수의 속도를 확인해 보았다. 테스트는 Raspberry Pi 32 bit 환경에서 진행하였다. + ### 1. Multiplication  -- time이 작을수록 빠른 함수이므로 mul2 > mul1 > mul3 > mul0 > mul4 순서로 속도가 빠른 것을 알 수 있다. +- time이 작을수록 빠른 함수이므로 mul2 > mul1 > mul3 > mul0 > double mul > mul4 순서로 속도가 빠른 것을 알 수 있다. - shift 연산 3번, 곱셈 연산 1번을 실행하는 mul4가 가장 느렸고, fixed64로 캐스팅하는 작업이 있는 mul0도 비교적 느린 것을 확인할 수 있었다. - 나머지 mul2, mul1, mul3 세 연산은 속도가 같거나 거의 차이가 없는 것을 확인할 수 있다. - 위 결과로 미루어 보아 캐스팅, shift 연산의 횟수 등이 실행 속도에 영향을 주는 것으로 예상해볼 수 있다. @@ -276,7 +278,7 @@ fx_s1516_longlong_div2: 142857  -- div 연산은 div2 > div1 > div0 순서로 속도가 빠른 것을 확인할 수 있다. +- div 연산은 div2 > div1 > div0 > double div순서로 속도가 빠른 것을 확인할 수 있다. - mul에서 확인한 것과 같이 캐스팅 연산이 있는 div0이 상대적으로 느렸으며 shift 횟수가 1회 더 많은 div1이 div2보다 느린 것을 확인할 수 있다. - div의 결과로도 캐스팅, shift 연산의 횟수가 실행 속도에 영향을 주는 것으로 예상이 가능하다.