一直进行中的在 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 编译:开源中国
评论删除后,数据将无法恢复
PostgreSQL 已包含对 LLVM JIT 支持的提交 性能将飙升
一直进行中的在 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 编译:开源中国