feisky

云计算、虚拟化与Linux技术笔记
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Unix编程艺术——优化、工具、重用、可移植性、文档

Posted on 2012-02-14 22:59  feisky  阅读(474)  评论(0编辑  收藏  举报


优化

Unix经验告诉我们最主要的就是如何知道不去优化,最强大的优化工具就是不做优化(摩尔定律)。 

如果仅仅是为了减少资源使用的一个常数部分而优化是不值得的,更明智的做法是把高次的指数级降下来。

善用profiler估量程序,并谨记工具误差,降低误差影响的一个方法是在相同负载下多次profiler。

最有效的代码优化方法是保持代码短小简单,永远不要将核心数据结构和时间关键循环抛出缓存。

性能往往受限于IO(尤其是网络程序),经验法则是尽可能降低时延:对可以共享启动开销的失误进行批处理;允许事务重叠;缓存。

工具

编辑器:vi、emacs
代码生成器:yacc、lex
自动化编译:make
版本控制:VCS
运行期调试:gdb
性能分析

重用

透明性是重用的关键。

可移植性

autoconf

文档

troff、tex、html、DocBook

对存在问题提出警示,包含README,分为三种不同文档:手册、教程、常见问题解答

开源

源码公开,尽早发布,经常发布,给贡献以表扬

协同工作:发送补丁而不是完整文件,不要包含可执行文件,使用diff -u格式,包含文档和解释

命名格式:foobar-1.2.3.tar.gz
无觅相关文章插件,快速提升流量