Thread: Using JIT for VACUUM, COPY, ANALYZE

Using JIT for VACUUM, COPY, ANALYZE

From
Pavel Stehule
Date:
Hi

Today, these task can be CPU limited . Do you think, so JIT can be used there too?

Regards

Pavel

Re: Using JIT for VACUUM, COPY, ANALYZE

From
Andres Freund
Date:

On March 11, 2018 12:31:33 PM PDT, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>Hi
>
>Today, these task can be CPU limited . Do you think, so JIT can be used
>there too?

Copy definitely, with the others I'm much more doubtful. Don't see anything around their bottlenecks that could be
removedby JITing. Haven't looked at profiles of them recently however. 


Andres
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.


Re: Using JIT for VACUUM, COPY, ANALYZE

From
Andres Freund
Date:
On 2018-03-11 12:38:54 -0700, Andres Freund wrote:
> 
> 
> On March 11, 2018 12:31:33 PM PDT, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> >Hi
> >
> >Today, these task can be CPU limited . Do you think, so JIT can be used
> >there too?
> 
> Copy definitely, with the others I'm much more doubtful. Don't see anything around their bottlenecks that could be
removedby JITing. Haven't looked at profiles of them recently however.
 

To expand a bit on that: JITing isn't magic - it needs to be able to
remove overhead to be beneficial. That can be removing very frequently
hit branches, indirect jumps and memory accesses. For e.g. expression
evaluation and tuple deforming it's not hard to see how that can be
done, yielding nice speedups. But for vacuuming where a lot of overhead
is in hot pruning and the like there's very little that can be removed.

Greetings,

Andres Freund