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
相关文章读者评论发表评论 |