• Home
  • Search
  • Динамическая компиляция выражений в SQL-запросах для СУБД PostgreSQL
  • Open Access IconOpen Access
  • Cite Icon7
  • https://doi.org/10.15514/ispras-2016-28(4)-13Copy DOI Icon

Динамическая компиляция выражений в SQL-запросах для СУБД PostgreSQL

  • Abstract
  • Highlights & Summary
  • PDF
  • Literature Map
  • Citations
  • Similar Papers
Abstract

In recent years, as performance and capacity of main and external memory grow, performance of database management systems (DBMSes) on certain kinds of queries is more determined by raw CPU speed. Currently, PostgreSQL uses the interpreter to execute SQL queries. This yields an overhead caused by indirect calls to handler functions and runtime checks, which could be avoided if the query were compiled into native code "on-the-fly", i.e. just-in-time (JIT) compiled: at run time the specific table structure is known as well as data types and built-in functions used in the query as well as the query itself. This is especially important for complex queries, performance of which is CPU-bound. We’ve developed a PostgreSQL extension that implements SQL query JIT compilation using LLVM compiler infrastructure. In this paper we show how to implement JIT compilation to speed up sequential scan operator (SeqScan) as well as expressions in WHERE clauses. We describe some important optimizations that are possible only with dynamic compilation, such as precomputing tuple attributes offsets only for attributes used by the query. We also discuss the maintainability of our extension, i.e. the automation for translating PostgreSQL backend functions into LLVM IR, using the same source code both for our JIT compiler and the existing interpreter. Currently, with LLVM JIT we achieve up to 5x speedup on synthetic tests as compared to original PostgreSQL interpreter.

Loading PDF

Similar Papers
  • Research Article
  • Citations8

AOT vs. JIT: impact of profile data on code quality

  • Jun 21, 2017
  • ACM SIGPLAN Notices
  • April W Wade +2
  • Conference Article
  • Citations43

The Devil is in the Constants: Bypassing Defenses in Browser JIT Engines

  • Jan 01, 2015
  • Michalis Athanasakis +4
  • Conference Article
  • Citations47

Generalized just-in-time trace compilation using a parallel task farm in a dynamic binary translator

  • Jun 04, 2011
  • Igor Böhm +4
  • Research Article
  • Citations78

Java runtime systems: characterization and architectural implications

  • Jan 01, 2001
  • IEEE Transactions on Computers
  • R Radhakrishnan +5
  • Conference Article
  • Citations34

Improving Java performance using hardware translation

  • Jun 17, 2001
  • Ramesh Radhakrishnan +2
  • PDF
  • Research Article

Динамическая компиляция пользовательских функций на языке PL/pgSQL

  • Jan 01, 2020
  • Proceedings of the Institute for System Programming of the RAS
  • Vladislav Muratovich Dzhidzhoyev +3
  • Research Article

AgentTune: An Agent-Based Large Language Model Framework for Database Knob Tuning

  • Dec 04, 2025
  • Proceedings of the ACM on Management of Data
  • Yiyan Li +9
  • Conference Article
  • Citations21

Performance Analysis of PostgreSQL, MySQL, Microsoft SQL Server Systems Based on TPC-H Tests

  • Sep 05, 2021
  • I S Vershinin +1
  • Book Chapter

Protecting dynamic code

  • Mar 01, 2018
  • Gang Tan +1
  • Conference Article
  • Citations2

Just-In-Time Java? Compilation for the Itanium® Processor

  • Sep 22, 2002
  • Tatiana Shpeisman +2
  • Conference Article
  • Citations4

An Analysis on Automatic Performance Optimization in Database Management Systems

  • May 01, 2020
  • Sachini Samson +1
  • Research Article
  • Citations2

Query processing on multi-core architectures

  • Jan 01, 2009
  • Grundlagen von Datenbanken
  • Frank Hüber +1
  • Conference Article
  • Citations17

Briki: an optimizing Java compiler

  • Feb 23, 1997
  • M Cierniak +1
  • Conference Article
  • Citations100

LaTTe: a Java VM just-in-time compiler with fast and efficient register allocation

  • Oct 12, 1999
  • Byungsun Yang +9
  • PDF
  • Research Article
  • Citations7

Improving Text-to-SQL with a Hybrid Decoding Method

  • Mar 16, 2023
  • Entropy
  • Geunyeong Jeong +6
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.