안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
한줄요약 : JNI를 이용하여 정수연산과 실수 연산을 수행하였는데, 실수 연산이 더 빠릅니다. 왜그럴까요..?
속도 측정을 위한 코드는 다음과 같습니다.
(실제로는 정수, 실수 연산이 if 문으로 나눠집니다.)
int nIdx = 0;
int nInteger = 0;
float fFloat = 0.0f;
//정수의 경우
for ( nIdx = 0 ; nIdx < 100000000 ; nIdx++ ){
nInteger = 2*2;
//실수의 경우
for ( nIdx = 0 ; nIdx < 100000000 ; nIdx++ ){
fFloat = 0.123456789f*0.987654321f;제가 알기로는 floating 연산이 더 느리다고 알고 있는데요, 위의 코드로 갤럭시 S 에서 테스트 한 결과
int : 2252msec
float : 2114msec
의 결과가 나왔습니다.
Cygwin으로 JNI만들었구요, 이클립스 갈릴레오 버전 사용중입니다.
이유가 무엇일까요.. =ㅁ=;




예전에 공지사항 다 읽었어요 ㅠㅠ 혹시 어떤 감이라도 오시면 알려주세요 테스트는 제가 해볼께요~