1.5 NDK와 1.5 r3 SDK를 사용하고 있습니다.

cygwin에서 작업하고 gcc3.4.2입니다.

 

c native 코드에서 floating point 연산을 하는데

android에 올렸을 경우 연산시간이 상당히 오래 걸리네요.

 

단순 곱셈을 10,000,000 번 루프를 돌려봤습니다.

cygwin에서는 0.1초 이내에 결과가 나오는데

jni를 이용해 에뮬에서 돌릴 때는 11초 정도, 단말기에서 4초정도 걸립니다.

 

컴파일 옵션에서 최적화해주기 위해 Android.mk파일에

LOCAL_CFLAGS := -mfpu=vfp -mfloat-abi=softfp -march=armv6 -mtune=arm1176jzf-s -O3

를 추가해주었습니다.

 

에뮬 혹은 단말기에서 연산속도가 cygwin에서의 연산속도와 차이가 나는 이유가 궁금합니다.

어디서 손봐야 하는지 알려주세요.ㅠㅠ