Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8005648
  • 博文数量: 159
  • 博客积分: 10424
  • 博客等级: 少将
  • 技术积分: 14615
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-14 12:45
个人简介

啦啦啦~~~

文章分类
文章存档

2015年(5)

2014年(1)

2013年(5)

2012年(10)

2011年(116)

2010年(22)

分类: C/C++

2011-09-15 21:54:06

本文的copyleft归gfree.wind@gmail.com所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途。
作者:gfree.wind@gmail.com
博客:linuxfocus.blog.chinaunix.net

中秋假期跑去鼓浪屿玩了5天,彻底放松了一下。我去度假一般都是去放松,不会到处的跑景点,所以5天基本上有4天是泡在这个不足2平方公里的小岛上,尽情的浪费着时间。看了两本书,一本是心理学方面的《正常的傻瓜》,另外一本是科普《上帝掷骰子吗》,适当的放松,感觉确实很舒服。

好了,现在重新回归我们的主题。

在前面的两篇文章中,在学习strcpy的过程中,发现其代码效率并没有想象中的高,于是就这个问题进行了研究。在节前跟一些朋友探讨了一下,还有在stackoverflow上,跟国外的朋友也讨论了。基本上觉得可以终结这个探讨了,下面总结一下。

1. glibc这个strcpy的效率在Intel的某些CPU上确实效率不高——我测试了(Intel(R) Pentium(R) 4和Pentium(R) Dual-Core CPU E5300。有兴趣的朋友可以在其它CPU上测试一下,最好不是Intel的;
2. 一般glibc会根据不同的CPU实现不同版本的库函数,如strcpy。当然,我之前也知道这一点,不过我并没有去特意的看特定CPU的strcpy的代码。而是看这个generic的代码——当时我认为generic的strcpy仍然会高效。那么实际上对于intel的CPU来说,有特定的strcpy实现代码。所以在intel的CPU上,glibc的strcpy肯定会高效。

最好的答案就是glibc中的generic的实现代码,并不一定会高效。如果真的要学习且实现代码,看来还是要学习该CPU上的特定的实现代码。
阅读(6116) | 评论(4) | 转发(3) |
给主人留下些什么吧!~~

vonnyfly2011-09-21 16:47:32

GFree_Wind: DirectFB是什么.....
嵌入式上的图形窗口、虚拟输入设备、硬件加速的一推东西。。。。。

vonnyfly2011-09-21 16:42:49

GFree_Wind: DirectFB是什么.....
一个嵌入式的图形窗口、抽象虚拟设备、硬件加速的一堆东西。。。。可以google一下的

GFree_Wind2011-09-17 13:41:37

vonnyfly: 的确,DirectFB里面的strcpy可以自己根据硬件指定最高效的。。。。。。.....
DirectFB是什么

vonnyfly2011-09-17 13:13:54

的确,DirectFB里面的strcpy可以自己根据硬件指定最高效的。。。。。。