【高效程序的奥秘】位之道

上古时代的程序员为了提高程序性能挖空心思去创造『黑魔法』,在这之中,屠龙之技恐怕就是各种神乎其技的位操作了。果你要编写最优化编译器或者高性能的代码,就必须阅读这本书。


但是话说回来,在编译器优化足够好并且各类高性能运算库层出不穷的今天,这类写快速代码的各种位操作的套路基本沦为面试题,比如:

  • a = x & (x-1) 检查一个无符号整数是否为 2 的幂,如果是 a 应为 0
  • a = x & (x+1) 检测一个五符号整数是否为 $2^n-1$ 的形式
  • a = x & (-x) 找出最右侧的 1 位,如果没有 1 位则生成所有位均为 0 的字

正如书中前言所说:软件维护成本的增加与程序设计人员的创造力的平方成正比。在计算机程序越来越复杂的今天,过分在意微小的性能优化而牺牲了可读性与可维护性其实是非常得不偿失的,反而从业务逻辑层面入手自上而下进行设计优化才可能是更加靠谱的方法。

每种技术方法和趋势都有其对应的时代背景,多多考虑历史的进程才能真正称为弄潮儿。另外,如果想要理解本书的各种小技巧,需要对计算机系统的基本知识有比较详细的了解,通过这种方法来夯实基础也是不错的选择。

捧个钱场?