使用arm组装机器代码的android上的软件优化不能在发布模式ndk build中工作

时间:2014-01-29 04:18:23

标签: arm

我正在使用Android平台中的arm组装机器代码进行软件优化。我使用NDK v9构建源代码。如果我在调试模式下构建我的性能提高了40%,如果我在发布模式下构建,性能类似于c代码。我能知道为什么在调试和发布模式下性能有差异吗?我在make文件中设置了优化级别O3。

我的Android.mk文件

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := armjtest

LOCAL_CFLAGS := -g -DDEBUG -O3

LOCAL_LDLIBS += $(LOCAL_PATH)/libarmjit.a

LOCAL_SRC_FILES := test.c

include $(BUILD_EXECUTABLE)

Application.mk file

APP_ABI := armeabi-v7a

APP_OPTIM := release

APP_STL := gnustl_static

我正在使用gnustl_static lib。我正在使用的ndk构建命令。 ndk-build V = 1 在ndk-build命令中,它使用-Os(空间优化)标志。 ndk中的构建和释放命令没有太大区别。

发布模式命令ndk使用

调试模式命令ndk使用 -O0 -UNDEBUG -marm -fno-omit-frame-pointer在调试模式下启用这些额外标志。

请帮我解决这个问题。

0 个答案:

没有答案