c,汇编速度的比较

本文通过对比C语言和汇编代码的执行效率,探讨了使用ARM NEON指令集进行多媒体计算的性能提升。实验中,分别测试了不同NEON指令优化策略,包括单寄存器、多个寄存器以及预加载数据的方式,并分析了它们对运算速度的影响。
摘要由CSDN通过智能技术生成
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <chrono>
#include <arm_neon.h>
#include "opencv2/imgproc/imgproc.hpp"
//extern "C" void fanicCvtBGR2GrayNEON(void *pDst, void *pSrc, unsigned int size);
extern "C" void sfNEONbad1(unsigned short * pDst, short * pSrc, short coeff, short intercept, unsigned int count);//single register
extern "C" void sfNEONbad2(unsigned short * pDst, short * pSrc, short coeff, short intercept, unsigned int count);//serveral registers
extern "C" void sfNEONbad3(unsigned short * pDst, short * pSrc, short coeff, short intercept, unsigned int count);//preload
class q_timer { 
public: 
void start()
{
m_start = std::chrono::steady_clock::now();
}
double stop()
{
std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now();
return  std::chrono::duration_cast<std::chrono::duration<double> >(end - m_start).count();
}
void time_display(const char *disp = "", int nr_frame = 1)
{
printf("Running time (%s) is: %5.5f Seconds.\n", disp, stop() / nr_frame);
}
void fps_display(const char *disp = "", int nr_frame = 1)
{
printf("Running time (%s) is: %5.5f frame per
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值