Speed and Efficiency: When to Evaluate the Right-Hand-Side during a Function Definition

Let's set a baseline to check efficiency. Here we check timing to integrate something



We check the same thing again, because Mathematica may have spent some time loading algorithms to integrate



Here, we time how long it takes to create a function (with delayed assignment), but using Evaluate on the rhs.



The following is equivalent to the above (safer) definition---and will work so long as c is not assigned to an expression.



The following should take the *least* amount of time to perform, but as we shall see is not as efficient in the long run.










The following should give a rapid result




The following will not be rapid, because it has to do the symbolic integration before returning the result.



Created by Wolfram Mathematica 6.0  (23 October 2007) Valid XHTML 1.1!