这个网站上已经存在很多性能问题,但是我发现几乎所有这些都是特定于问题且相当狭窄的问题.几乎所有人都重复这些建议,以避免过早优化.
我们假设:
我在这里寻找的是在一个关键算法中挤出最后几个百分点的策略和技巧,除此之外别无他法.
理想情况下,尝试使答案语言不可知,并在适用的情况下指出建议策略的任何缺点.
我将使用我自己的初步建议添加回复,并期待Stack Overflow社区可以想到的任何其他内容.
我今天正在阅读Joel On Software并且遇到了这个引用:
如果不理解函数式编程,就无法发明MapReduce,这种算法使Google具有如此大规模的可扩展性.术语Map和Reduce来自Lisp和函数式编程.回想起来,对于那些从6.001等效编程类中记得纯粹功能性程序没有副作用且因此可以简单地并行化的人来说,MapReduce是显而易见的.
当他说功能性程序没有副作用时,他的意思是什么?这如何使并行化变得微不足道?