memcpy性能测试用例设计


背景:实现高性能memcpy函数。所以得先想清楚怎么测试性能!在网上也发现了一些测试用例,但是觉得不是很合理,在这里整理下思路,仅作笔记!

朴素思维

  1. 在执行memcpy前,获取系统当前时间start_time;
  2. 在执行memcpy后,获取系统当前时间end_time;
  3. end_time - start_time,即可得耗费时间

获取系统当前时间

有以下几种获取时间的方式

// 以下三个函数,均声明在  <time.h>
time_t time(time_t * timer) ;		//s 秒级精度
int gettimeofday(struct timeval *tv, struct timezone *tz);	//us 微妙级精度
int clock_gettime(clockid_t clk_id, struct timespect *tp);	//ns 纳秒级精度

经过测试,执行一个printf 函数,需要400us左右,即0.4ms 毫秒。
个人觉得有些不可思议,一个小printf竟然需要耗费这么久时间!!
可能是函数消耗比较大,以后有空用汇编测试下

为方便以后扩展(可以轻易转化为us/ms/s),所以选取ns级精度时间函数 clock_gettime.
下为实例代码 参考链接

#inclu
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值