Only the innermost lambdified callable is JIT-compiled today. The estimator wrapper — function calls over data and phase space, normalization, log/sum reductions — runs in Python, and Estimator.gradient is re-traced on every call.
Rebuild ChiSquared and UnbinnedNLL around a pure core (parameters, data) → value that is compiled once (value and gradient) on backends that support it, with data arrays passed as runtime arguments so they are not baked into the trace.
Only the innermost lambdified callable is JIT-compiled today. The estimator wrapper — function calls over data and phase space, normalization, log/sum reductions — runs in Python, and
Estimator.gradientis re-traced on every call.Rebuild
ChiSquaredandUnbinnedNLLaround a pure core(parameters, data) → valuethat is compiled once (value and gradient) on backends that support it, with data arrays passed as runtime arguments so they are not baked into the trace.