Apache Lucene开发一直充满活力,但最近几个月尤其见证了对查询评估的大量优化。这里没有一个可以单独突出的优化,而是围绕机械同情(Mechanical Sympathy,在计算机编程和系统设计领域被广泛使用的术语。它指的是开发者对于他们的软件在硬件上运行时的深入理解,包括了解计算机的硬件架构如何影响软件性能。简而言之,就是软件设计者对于他们的程序如何有效利用硬件资源的认识和优化。)和改进的算法组合的许多改进。
特别有趣的是,这些优化不仅仅有利于一些非常具体的情况,它们实际上加快了Lucene的夜间基准测试的速度,这旨在追踪代表现实世界的查询的性能。只需将鼠标悬停在注释上,就可以看到速度提升(或有时减慢)的来源。顺便说一句,特别感谢Mike McCandless在过去近13年里,用自己的时间和硬件维护Lucene的夜间基准测试!
以下是夜间基准测试在Lucene 9.6(2023年5月)和Lucene 9.9(2023年12月)之间观察到的一些速度提升:
如果你对这些变化感到好奇,以下是描述我们应用的一些优化的资源:
Lucene 9.9刚刚发布,并预计将被集成到即将发布的Elasticsearch 8.12中。敬请期待!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。