现在的位置: 首页 > 综合 > 正文

wince下三角、对数、指数函数优化

2013年08月09日 ⁄ 综合 ⁄ 共 1357字 ⁄ 字号 评论关闭

在上一篇<使用WEC7的NEON内在函数功能>中,论述了使用wec7的neon内在函数进行代码优化的可能。在这一篇中将讲述neon指令对三角、对数、指数函数效率的提升。

一、测试平台
1、CPU: Cortex-A8 1GHz
2、OS: Wince6R3
3、COMPLIER: 1、vs2005 2、wec7

二、测试代码链接
1、http://gruntthepeon.free.fr/ssemath/neon_mathfun.html
2、http://blog.csdn.net/zht9961020/article/details/7232924

三、测试结果

sin .. ->    0.0 millions of vector evaluations/second -> 9900 cycles/value
cos .. ->    0.0 millions of vector evaluations/second -> 10750 cycles/value
exp .. ->    0.0 millions of vector evaluations/second -> 8300 cycles/value
log .. ->    0.0 millions of vector evaluations/second -> 9075 cycles/value

cephes_sinf .. ->    0.5 millions of vector evaluations/second -> 457 cycles/value
cephes_cosf .. ->    0.4 millions of vector evaluations/second -> 503 cycles/value
cephes_expf .. ->    0.1 millions of vector evaluations/second -> 1835 cycles/value
cephes_logf .. ->    0.2 millions of vector evaluations/second -> 950 cycles/value

sin_ps .. ->    3.4 millions of vector evaluations/second ->  73 cycles/value
cos_ps .. ->    3.3 millions of vector evaluations/second ->  74 cycles/value
sincos_ps .. ->    3.5 millions of vector evaluations/second ->  70 cycles/value
exp_ps .. ->    7.2 millions of vector evaluations/second ->  35 cycles/value
log_ps .. ->    5.8 millions of vector evaluations/second ->  43 cycles/value

my_sin .. ->    0.5 millions of vector evaluations/second -> 431 cycles/value
my_cos .. ->    0.4 millions of vector evaluations/second -> 590 cycles/value

四、分析
1、1~4是使用系统库函数,5~8是用的另一个库,9~13是使用neon优化过的,这些测试分支均来自第一处测试代码链接
2、14~15是用的另一个库,来自第二处测试代码链接
从结果来看,使用neon优化过的具有明显的优势

抱歉!评论已关闭.