当前位置:
首页 >
memcpy执行效率测试,无效测试
发布时间:2023/12/20
48
豆豆
生活随笔
收集整理的这篇文章主要介绍了
memcpy执行效率测试,无效测试
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
#include <stdio.h>
#include<time.h>
#include<math.h>
#include <unistd.h>
clock_t start,stop;
//clock_t是clock()函数返回的变量类型
double duration;
//记录被测试函数运行时间,以秒为单位#define MAXK 1e7/*被测函数最大重复调用次数*/void computationtime(double start,double stop,int i)
{duration = ((double)(stop-start))/CLOCK_TAI/MAXK;/*计算函数单次运行的时间*///计算运行时间//其它不在测试范围的处理写在后面,例如输出duration的值printf("ticks%d = %f\n",i,(double)(stop - start));printf("duration%d = %6.2e\n",i,duration);
}void *fq_memcpy(void *__dest, __const void *__src, size_t __n)
{int i = 0;unsigned char *d = (unsigned char *)__dest, *s = (unsigned char *)__src;for (i = __n >> 3; i > 0; i--) {*d++ = *s++;*d++ = *s++;*d++ = *s++;*d++ = *s++;*d++ = *s++;*d++ = *s++;*d++ = *s++;*d++ = *s++;}if (__n & 1 << 2) {*d++ = *s++;*d++ = *s++;*d++ = *s++;*d++ = *s++;}if (__n & 1 << 1) {*d++ = *s++;*d++ = *s++;}if (__n & 1)*d++ = *s++;return __dest;
}void *fq2_memcpy(void *dest, const void *src, size_t n)
{int i;const char *s = src;char *d = dest;for (i = 0; i < n; i++)d[i] = s[i];return dest;
}int main(void)
{char * a = "0123456789ABCDEFGHJKLMNOPQRSTUVWXYZ,0123456789ABCDEFGHJKLMNOPQRSTUVWXYZ,0123456789ABCDEFGHJKLMNOPQRSTUVWXYZ,0123456789ABCDEFGHJKLMNOPQRSTUVWXYZ,0123456789ABCDEFGHJKLMNOPQRSTUVWXYZ,0123456789ABCDEFGHJKLMNOPQRSTUVWXYZ,0123456789ABCDEFGHJKLMNOPQRSTUVWXYZ,0123456789ABCDEFGHJKLMNOPQRSTUVWXYZ,0123456789ABCDEFGHJKLMNOPQRSTUVWXYZ,0123456789ABCDEFGHJKLMNOPQRSTUVWXYZ,0123456789ABCDEFGHJKLMNOPQRSTUVWXYZ,0123456789ABCDEFGHJKLMNOPQRSTUVWXYZ,0123456789ABCDEFGHJKLMNOPQRSTUVWXYZ,0123456789ABCDEFGHJKLMNOPQRSTUVWXYZ,0123456789ABCDEFGHJKLMNOPQRSTUVWXYZ";char b[1024];char c[1024];unsigned int i = 0;start = clock();//开始计时for(i=0;i<10*1024;i++)fq_memcpy(c,a,1024);stop = clock();//停止计时computationtime(start,stop,1);start = clock();//开始计时for(i=0;i<10*1024;i++)fq2_memcpy(b,a,1024);stop = clock();//停止计时computationtime(start,stop,1);return 0;
}
总结
以上是生活随笔为你收集整理的memcpy执行效率测试,无效测试的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 这十个Python实战项目,让你瞬间读懂
- 下一篇: 【GIT】git 提交代码正确步骤