海思3519AV100 编译选项对速度的影响测试

本文探讨了针对Hi3519AV100平台的CMake编译选项如何影响视频处理速度。通过测试不同编译选项组合,发现某些选项如-mfloat-abi=softfp和-fPIC对性能有显著提升。最终确定了一组优化编译选项,以实现最佳运行效率。同时,文章提到strip命令虽能减小文件大小,但不会提升运行速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 编译选项
message(STATUS "Hi 3519AV100 cross compiling...")
set(CMAKE_C_COMPILER "arm-himix200-linux-gcc")
set(CMAKE_CXX_COMPILER "arm-himix200-linux-g++")
set(CMAKE_STRIP "arm-himix200-linux-strip")
#add_compile_options(-Wall -O2 -g -Wpsabi -fno-aggressive-loop-optimizations)
#add_compile_options(-Dhi3519av100 -DHI_XXXX -DISP_V2) 
#add_compile_options(-mcpu=cortex-a53 -mfloat-abi=softfp -mfpu=neon-vfpv4)
#add_compile_options(-ffunction-sections -fdata-sections -fstack-protector -fPIC)
#add_compile_options(-DHI_RELEASE -Wno-error=implicit-function-declaration)
#add_compile_options(-DVER_X=1 -DVER_Y=0 -DVER_Z=0 -DVER_P=0 -DVER_B=10)
#add_compile_options(-DUSER_BIT_32 -DKERNEL_BIT_32 -Wno-date-time)
#add_compile_options(-DSENSOR0_TYPE=SONY_IMX334_MIPI_8M_30FPS_12BIT)
#add_compile_options(-DSENSOR1_TYPE=SONY_IMX290_SLAVE_MIPI_2M_60FPS_10BIT)
#add_compile_options(-DSENSOR2_TYPE=SONY_IMX290_SLAVE_MIPI_2M_60FPS_10BIT)
#add_compile_options(-DSENSOR3_TYPE=SONY_IMX290_SLAVE_MIPI_2M_60FPS_10BIT)
#add_compile_options(-DSENSOR4_TYPE=SONY_IMX334_MIPI_8M_30FPS_12BIT)
#add_compile_options(-DHI_ACODEC_TYPE_INNER -DHI_ACODEC_TYPE_HDMI -DSMP)

对一段视频处理(上海热像 384*288)

  1. 带有所有的编译选项 0.112 s/f
  2. 去掉所有编译选项,如上图。0.722 s/f
  3. 添加了这一条:add_compile_options(-Wall -O2 -g -Wpsabi -fno-aggressive-loop-optimizations) 0.502 s/f
  4. add_compile_options(-Wall -O2 -g -Wpsabi -fno-aggressive-loop-optimizations)
    add_compile_options(-mcpu=cortex-a53 -mfloat-abi=softfp -mfpu=neon-vfpv4 -fPIC) [fPIC必须假设,否则出错]
    速度为0.112 s/f
  5. 改为:
    add_compile_options(-Wall -O2 -g -Wpsabi -fno-aggressive-loop-optimizations)
    add_compile_options(-mfloat-abi=softfp -mfpu=neon-vfpv4 -fPIC)
    即去掉:-mcpu=cortex-a53
    速度为0.117 s/f 【速度略有下降】
  6. 改为:
    add_compile_options(-Wall -O2 -g -Wpsabi -fno-aggressive-loop-optimizations)
    add_compile_options(-mfpu=neon-vfpv4 -fPIC)
    速度为0.502 s/f 【说明 -mfloat-abi=softfp是有作用的】
  7. 改为:
    add_compile_options(-O2 -mcpu=cortex-a53 -mfloat-abi=softfp -fPIC)
    速度为0.112 s/f
  8. 改为:
    add_compile_options(-O3 -mcpu=cortex-a53 -mfloat-abi=softfp -fPIC)
    速度为0.112 s/f (小数点后第四位比上面略差)

【总结】

  1. 我没有把所有编译选项一一测试。
  2. 我的程序不依赖任何华为的库和其他第三方。这种情况下,编译选项上面的6应该就可以了。

做strip可以减少文件的空间大小,但不能提高运行速度。

这篇文章谈了一些3519A编译选项的优化:
https://blog.youkuaiyun.com/JustDoIt_201603/article/details/103083962?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-13.control&dist_request_id=1619613455679_44023&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-13.control

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值