代码的性能和可读性,最终是否是不可兼得的?
极致的性能意味着极致的优化,而极致的优化,比如经典的0x5f3759df(卡马克在Quake 3的开发中利用这个Magic Number实现了负二分之一次幂,也即倒数开放的快速计算,后有数学家对此进行了证明,参见这篇论文),对其他人来说往往难以理解,也就失去了可读性。
而在另一端,函数式编程(Functional Programming)对于一个有经验的开发者来说,确实要具有更高的可读性,但作为代价,函数式编程语言的性能往往不是强项。
这件事情上,我们追求不了极致,只能寻找相对平衡。而这个平衡点的所在,是因人而异,因事而异,也因时而异的。
网友评论