JUST-IN-TIME (윈 토토) 컴파일은 해석 된 프로그램 평가의 일부 형태를 기본 프로그램으로 바꾸고 실행 시간에 그렇게하는 과정입니다. 예를 들어, 임의의 SQL 표현식을 평가하여 특정 SQL 술어를 평가하여를 평가할 수있는 일반 목적 코드를 사용하는 대신여기서 a.col = 3
, 해당 표현식과 관련된 기능을 생성하고 CPU에 의해 기본적으로 실행될 수있는 함수를 생성 할 수있어 속도를 높입니다..
PostgreSQL공연을 지원했습니다윈 토토컴파일 사용llvm언제PostgreSQL-with-llvm
.
참조src/backend/윈 토토/readme
자세한 내용은
현재PostgreSQL's윈 토토구현은 발현 평가 및 튜플 변형을 가속화하는 것을 지원합니다. 앞으로 몇 가지 다른 작업이 가속화 될 수 있습니다.
표현 평가는 평가에 사용됩니다여기서
조항, 대상 목록, 집계 및 예측. 각 사례에 특정한 코드를 생성하여 가속화 될 수 있습니다.
튜플 변형은 온 디스크 튜플을 변환하는 과정입니다 (참조섹션 70.6.1) 메모리 내 표현으로. 테이블 레이아웃과 추출 할 열의 수를 생성하여 가속화 될 수 있습니다.
PostgreSQL는 매우 확장 가능하며 새로운 데이터 유형, 기능, 운영자 및 기타 데이터베이스 개체를 정의 할 수 있습니다. 보다38 장. 실제로 내장 객체는 거의 동일한 메커니즘을 사용하여 구현됩니다.섹션 38.3). 오버 헤드를 줄이려면윈 토토컴파일은 작은 기능의 본문을 사용한 표현으로 끌어낼 수 있습니다. 이를 통해 오버 헤드의 상당 부분을 최적화 할 수 있습니다.
llvm생성 된 코드 최적화를 지원합니다. 일부 최적화는 언제든지 수행 할 수있을 정도로 저렴합니다윈 토토는 사용되는 반면, 다른 쿼리는 장기 쿼리에만 유리합니다. 보다https://llvm.org/docs/Passes.html#transform-passes최적화에 대한 자세한 내용은
문서에 올바른 것이 없으면 일치하지 않습니다.이 양식문서 문제를보고하려면