안녕하세요.

한줄요약 : 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만들었구요, 이클립스 갈릴레오 버전 사용중입니다.

이유가 무엇일까요.. =ㅁ=;