versioninfo() run(`python --version`) nprocs() tic() run(`python ./Python/lorenz.py`) toc() tic() run(`julia ./julia/lorenz.jl`) a = toq() tic() run(`python ./Python/lorenz.numba.py`) toc() tic() run(`python ./Python/lorenz.swig.py`) toc() function lorenz() dt = 0.01 n = 200000 a = 10. b = 28. c = 8/3 x = zeros(n) y = zeros(n) z = zeros(n) x[1] = 0 y[1] = 1. z[1] = 1.05 for i = 1:n-1 x[i+1] = x[i] + dt * (- a * x[i] + a * y[i]) y[i+1] = y[i] + dt * (- x[i] * z[i] + b * x[i] - y[i]) z[i+1] = z[i] + dt * ( x[i] * y[i] - c * z[i] ) end return x,y,z end gx,gy,gz = lorenz() tic() gx,gy,gz = lorenz() toc() using PyCall unshift!(PyVector(pyimport("sys")["path"]), "") @pyimport _SwigMod as SwigMod tic() dt = 0.01 n = 200000 a = 10. b = 28. c = 8/3 x = zeros(n) y = zeros(n) z = zeros(n) x[1] = 0 y[1] = 1. z[1] = 1.05 SwigMod.Swig_Lorenz(x, y, z, a, b, c, dt, n) toc() tic() dt = 0.01 n = 200000 a = 10. b = 28. c = 8/3 x = zeros(n) y = zeros(n) z = zeros(n) x[1] = 0 y[1] = 1. z[1] = 1.05 SwigMod.Swig_Lorenz(x, y, z, a, b, c, dt, n) toc()