• Andres Freund's avatar
    JIT tuple deforming in LLVM JIT provider. · 32af96b2
    Andres Freund authored
    Performing JIT compilation for deforming gains performance benefits
    over unJITed deforming from compile-time knowledge of the tuple
    descriptor. Fixed column widths, NOT NULLness, etc can be taken
    advantage of.
    
    Right now the JITed deforming is only used when deforming tuples as
    part of expression evaluation (and obviously only if the descriptor is
    known). It's likely to be beneficial in other cases, too.
    
    By default tuple deforming is JITed whenever an expression is JIT
    compiled. There's a separate boolean GUC controlling it, but that's
    expected to be primarily useful for development and benchmarking.
    
    Docs will follow in a later commit containing docs for the whole JIT
    feature.
    
    Author: Andres Freund
    Discussion: https://postgr.es/m/20170901064131.tazjxwus3k2w3ybh@alap3.anarazel.de
    32af96b2
llvmjit_expr.c 73.3 KB