jit_inline_above_cost
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | 500000 | user | string |
| 15 | 500000 | user | string |
| 16 | 500000 | user | string |
| 17 | 500000 | user | string |
| 18 | 500000 | user | string |
| 19 | 500000 | user | string |
쿼리 추정 비용이 이 값을 넘으면 JIT compilation이 함수와 연산자의 inlining을 시도한다. 기본값은 500000이고, -1로 설정하면 inlining이 비활성화된다.
inlining은 함수 호출을 호출 지점에 직접 펼쳐 호출 오버헤드를 없애는 기법으로, 컴파일 시간을 더 쓰는 대신 실행 속도를 추가로 끌어올린다. JIT 3단계 가운데 가장 비싼 투자에 해당하므로 기본값도 jit_above_cost(100000)보다 높은 500000이다.
jit_above_cost보다 낮게 설정하는 것은 의미가 없다. JIT 자체가 켜지지 않은 구간에서는 inlining 여부를 따질 일이 없기 때문이다.
출처: PostgreSQL 18 문서