This notebook measures the performance of a simple optimize use case.
import numpy as np
from scipy.optimize import minimize
def rosen(x):
"""The Rosenbrock function"""
return 100.0 * (x[1]-x[0]**2.0)**2.0 + (1-x[0])**2.0
%%timeit
minimize(rosen, [0.0, 0.0], method="nelder-mead",
options={'xtol': 1e-8, 'disp': False})
import datetime
print(datetime.datetime.now())
for i in range(1000):
minimize(rosen, [0.0, 0.0], method="nelder-mead",
options={'xtol': 1e-8, 'disp': False})
print(datetime.datetime.now())
from numba import jit
@jit
def rosen2(x):
"""The Rosenbrock function"""
return 100.0 * (x[1]-x[0]**2.0)**2.0 + (1-x[0])**2.0
%%timeit
minimize(rosen2, [0.0, 0.0], method="nelder-mead",
options={'xtol': 1e-8, 'disp': False})
## mmm... it didn't seem to help.
import numba as nb
nb.__version__
import sys
sys.version