Wolpert and Macready 在 1997 年在优化领域中提出的 No Free Lunch Theorems(NFL),可以简单理解为:针对某一具体域内的所有优化问题 Q,经过 m 步迭代之后达到目标函数给定值的所有可能性的累加和是相等。
周志华老师在其《机器学习》一书中引申到机器学习领域:“针对某一域的所有问题,所有算法的期望性能是相同的”
其实在计算机优化中上面的道理非常普遍。优化总是针对特定的问题,而且是优化的方法常常有副作用。
比如最常见的时间换空间,空间换时间就是很经典的优化方法。
我想说的是,优化总是一种妥协,是一种针对具体问题,牺牲某些用户不太关注的指标,提高关键指标的方法。
linux内核的RCU锁,在读的时候加锁的时候基本没有开销,但是更新的时候开销很大。
linux的虚拟内存,带来了更好的隔离性,代价是页面机制的开销。
linux的缺页机制,对内存使用更有效率,但是应用需要承担缺页分配的开销。