In Catalyst expressions, when is it appropriate to use codegen
I am exploring the usage of Catalyst expression functions to avoid the performance issues associated with UDFs.
One thing that I noticed is that there is a trait called CodegenFallback and there are some Catalyst expressions in Spark that inherit from it .
My question is, is there a technical limitation for some Catalyst expressions, like datetimeExpressions, that make codegen unsuitable? How do you evaluate whether or not a Catalyst expression should use codegen?