优化
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