专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »C 教程 » sprintf:memcpy与sprintf执行时间粗略比较 »正文

sprintf:memcpy与sprintf执行时间粗略比较

来源: 发布时间:星期四, 2008年9月25日 浏览:105次 评论:0
在copy功能上,虽然有许多先人都说过了memcpy比sprintf性能更高,但一直没找到相关的数据说明,近期借工程需要,自己简单的用地摊的方法测试了一下:
LARGE_INTEGER litmp;
LONGLONG qt1,qt2;
double dff,dfm;
QueryPerformanceFrequency(&litmp); //获得时钟频率
dff=(double)litmp.QuadPart;
QueryPerformanceCounter(&litmp); //获得初始值
qt1=litmp.QuadPart;

//待测试函数

QueryPerformanceCounter(&litmp); //获得终止值
qt2=litmp.QuadPart;
dfm=(double)(qt2-qt1);
测试结果,对2048bytes的数据进行一次性copy或分10几20次copy,
memcpy用时748~770左右,
sprintf用时41613~42966左右,
上面只是粗测(单位应该是时钟周期),但在数据上解决了自己的疑惑。
在copy功能上,原来sprintf耗时是memcpy的近50~60倍啊!
借博客记录下此次工作,以备后用。
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: