Re: Default JIT setting in V12
От | Andres Freund |
---|---|
Тема | Re: Default JIT setting in V12 |
Дата | |
Msg-id | 20190904152438.pv4vdk3ctuvvnxh3@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: Default JIT setting in V12 (Andres Freund <andres@anarazel.de>) |
Ответы |
Re: Default JIT setting in V12
|
Список | pgsql-hackers |
Hi, On 2019-09-04 07:51:16 -0700, Andres Freund wrote: > On 2019-09-04 09:56:28 -0400, Jeff Janes wrote: > > I think it is intuitive, and with empirical evidence, that we do not want > > to JIT compile at all unless we are going to optimize the compiled code. > > There's pretty clear counter-evidence however as well :( > > I think it's probably more sensible to use some cheap minimal > optimization for the "unoptimized" mode - because there's some > non-linear cost algorithms with full optimizations enabled. > > How does your example look with something like: > > diff --git i/src/backend/jit/llvm/llvmjit.c w/src/backend/jit/llvm/llvmjit.c > index 82c4afb7011..85ddae2ea2b 100644 > --- i/src/backend/jit/llvm/llvmjit.c > +++ w/src/backend/jit/llvm/llvmjit.c > @@ -428,7 +428,7 @@ llvm_optimize_module(LLVMJitContext *context, LLVMModuleRef module) > if (context->base.flags & PGJIT_OPT3) > compile_optlevel = 3; > else > - compile_optlevel = 0; > + compile_optlevel = 1; > > /* > * Have to create a new pass manager builder every pass through, as the > > which I think - but I'd have to check - doesn't include any of the > non-linear cost optimizations. Or better, something slightly more complete, like the attached (which affects both code-gen time optimizations (which are more like peephole ones), and both function/global ones that are cheap). Greetings, Andres Freund
Вложения
В списке pgsql-hackers по дате отправления: