Definiciones retardadas e inmediatas

Vamos a suponer que necesitamos evaluar la integral

(∫_1^x)t (e^t)dt

donde x tiene un valor arbitrario. Además el resultado o deseamos graficar.

Primero definamos a esta función que depende de x, en este caso lo haremos de dos maneras. En la primera haremos una definición retardada

funcion1[x_]:=Integrate[t Exp[t],{t,1,x}]

y en la segunda será una definición inmediata

funcion2[x_]=Integrate[t Exp[t],{t,1,x}]

Hagamos la gráfica de la primer función y evaluamos el tiempo en que se genera la gráfica

t1=TimeUsed[];
Plot[funcion1[x],{x,0.5,10}]
t2=TimeUsed[];
Print["Tiempo=",t2-t1];

Ahora hagamos los mismo con la segunda función

t1=TimeUsed[];
Plot[funcion2[x],{x,0.5,10}]
t2=TimeUsed[];
Print["Tiempo=",t2-t1];

¿En qué función la evaluación tardó más tiempo?