On Wed, Mar 28, 2018 at 02:27:51PM -0700, Andres Freund wrote: > For now LLVM is enabled by default when compiled --with-llvm. I'm mildly > inclined to leave it like that until shortly before the release, and > then disable it by default (i.e. change the default of jit=off). But I > think we can make that decision based on experience during the testing > window. I'm opening an open items entry for that.
I'll vote for jit=on and letting any bugs shake out earlier, but it's not a strong preference. I see jit slows the regression tests considerably: # x86_64, non-assert, w/o llvm $ for n in 1 2 3; do env time make -C src/bin/pg_upgrade check; done 2>&1 | grep elapsed 7.64user 4.24system 0:36.40elapsed 32%CPU (0avgtext+0avgdata 36712maxresident)k 8.09user 4.50system 0:37.71elapsed 33%CPU (0avgtext+0avgdata 36712maxresident)k 7.53user 4.18system 0:36.54elapsed 32%CPU (0avgtext+0avgdata 36712maxresident)k # x86_64, non-assert, w/ llvm trunk $ for n in 1 2 3; do env time make -C src/bin/pg_upgrade check; done 2>&1 | grep elapsed 9.58user 5.79system 0:49.61elapsed 30%CPU (0avgtext+0avgdata 36712maxresident)k 9.47user 5.92system 0:47.84elapsed 32%CPU (0avgtext+0avgdata 36712maxresident)k 9.09user 5.51system 0:47.94elapsed 30%CPU (0avgtext+0avgdata 36712maxresident)k # mips32el, assert, w/o llvm (buildfarm member topminnow) [1] 28min install-check-* 35min check-pg_upgrade # mips32el, assert, w/ llvm 6.0.1 [1] 63min install-check-* 166min check-pg_upgrade Regardless of the choice of jit={on|off} default, these numbers tell me that some or all of jit_*_cost defaults are too low. [1] The mips32el runs used "nice -+20" and ran on a shared machine. I include them to show the trend, but exact figures may be non-reproducible.