一直进行中的在 PostgreSQL 后端应用 LLVM JIT 技术目前被发现已有一个相关的提交信息。相信在不久的将来,被广泛使用的 PostgreSQL 数据库将会变得更快!
通过利用 LLVM 的即时编译技术,而不是通过 Postgres 的解释器传递 SQL 查询,从而在 PostgreSQL 中通过 JIT 编译 SQL 查询,这可以更多地使用运行时信息,并且特别有助于提高复杂 SQL 查询的性能,从而生成更高效的代码。
在 TPC-H 等数据库测试中,发现用于 PostgreSQL 的 JIT 编译表达式速度快了不止 20%。在这种 JIT 模式下,创建索引的速度甚至可以提高 5~19%。总体而言,这是相当激奋人心的提升。
PostgreSQL 使用抽象层来让共享库提供即时功能,因此在将来,也许我们也会看到 GCC 实验性 JIT 的支持。目前这项工作主要集中在 LLVM JIT 上。
虽然到目前为止只有一个关于这个特性的提交,但相信开发团队会兑现当初的承诺。PostgreSQL 11 肯定会让人更兴奋!
原文:https://www.phoronix.com 编译:开源中国
领取专属 10元无门槛券
私享最新 技术干货