存档

2012年1月 的存档

再见,2011!

2012年1月15日 2 条评论

又一年过去了,每年到了年底的时候,总会感叹光阴比箭还快,离开家又整整一年了。回看了一下年初给自己制定的计划,感慨满满,总觉得要写点什么,来对过去的一年有个交待,那就写点什么吧。

首先说一下工作,过去的一年,是整个搜索后台大重构最重要的一年,从基础的云平台,到基本的搜索的后台,几乎都在重构。说实话,这一年大家都很累,但换个角度来讲,这对我们来说也是一个机会,一个深入了解搜索引擎后台各个系统的机会。从我个人的角度而言,这一年确实学到不少。下半年有幸以PM的身份,带领小团队做了其中的一个子系统。从项目整体的进度和质量来讲,还是令人满意的,期望后面接入业务后也能让人满意。从单纯的工程师,到PM的转变,对我来讲,是一种考验。单纯做为一名工程师,只要高质量地完成好自己所负责的模块,配合好与相关模块之间的调试即可;但是做为PM,同是也是工程师,一方面要完成好自己所负责的模块,另一方面,更重要的是协调好整个团队的资源,帮助团队成员一起成长。在这个期间,真正的感受到了“众人拾材火焰高”,大家共同成长,团队才会出成绩。另外,这期间,也确实发现了自身存在的一些问题,因为团队成员中大多是这两年新入职的毕业生,项目经验还相对比较少,所以有时候,出现一些这样那样的问题的时候,自己还是有点急性子了。事后自己也反省了一下,对新人更重要的是要耐心,耐心地帮助新人成长,当每个新人都成长起来,能独挡一面的时候,就是整个团队战斗力最强的时候。所以,这半年来讲,不仅是技术上的成长,更为感到欣慰的是,自己不再只是考虑只要做好自己就行了,更重要的是学会如何在做好自己的同时,处理好与团队成员之间的关系,与团队成员共同成长,这是职场中最为重要的财富。 阅读全文…

用google-perftool分析程序的内存/CPU使用

2012年1月3日 3 条评论

最近,用到了google-perftool分析程序的内存和CPU的使用情况,总结一下使用的一些方法和体会,分享给有需要的朋友。首先,说说google-perftool,它是由google开发的用来分析C/C++程序性能的一套工具,这里的性能分析主要包括内存和CPU两个方面,内存分析使用google-perftool所提供的tcmalloc,CPU分析使用它所提供的profiler。下面先分别介绍一下tcmalloc和profiler,然后再给出一些使用的例子,及一些使用时的注意事项。

  • 1. tcmalloc
  • tcmalloc的全称是thread cache malloc,顾名思义,它是带有thread cache的内存管理工具,具体的实现细节这里不做过多的介绍,感兴趣的朋友可以参考google官方提供的文档,或者阅读源码。这里需要注明一下tcmalloc的一些优点,和它所提供的一些分析程序内存使用的一些功能。
    tcmalloc的主要优点有两个方面,一个是内存allocate/deallocate的速度,通常情况下它的速度比glibc所提供的malloc要快;另一个方面是小内存(< =32K)的管理,它的小内存是在thread cache里面管理的,一方面减少了加锁的开销,另一方面用来表示小内存所用的额外的空间也比较小,比较节省空间。因此,对于多线程下,经常小内存的allocation/deallocation的程序(尤其多线程下使用STL比较多的程序),可以尝试使用一下tcmalloc。 阅读全文…