【性能优化】 后记
后记
本书共 60 节,讲述了几十种结构化大数据的基础高性能算法或存储方案。我们已经在较多实际场景灵活应用过这些方法,使用 SPL 实现的算法,和传统关系数据库上的 SQL 相比,经常能获得几倍甚至上百倍的性能提升。
理论上讲,作为程序语言,SPL 并不会比 SQL 快更多。SPL 能够跑得更快的原因在于实施了 SQL 无法实施的高性能算法。如果一个计算任务,用 SQL 实现时已经使用了最优的算法,那么使用 SPL 重写也不会跑得更快。但 SQL 中难以实现的高性能算法实在太多了,只要代码有一定的复杂性,几乎一定能找到可以改变存储和算法而优化的点。我们实施过十几个场景中,每次都能找到可以改进的环节,这时候使用 SPL 重写就能有效的提高整体性能。当然,使用 C/C++ 或 Java 去编写也能获得更高性能,但开发效率又太低了。
需要再次指出的是,这里的每种算法都各有各自的适应场景,甚至有些算法之间还具有一定的矛盾性,都需要根据现实情况来选用。我们也一直在强调要充分了解任务的目标和数据特征,再因地制宜地设计优化方案。而且,现实中的大数据计算问题,并不会简单地和这里讲的算法一一对应,而是一个很综合的任务,要基于这些基础算法再组合运用。所以更重要的是要学会分析方法。
限于篇幅,这里没有涉及完整的实例和测试。读者有兴趣可以到乾学院去寻找更多测试实例和代码。