I was about to start my trek up Python mountain until Bard Ermentrout tipped me to the Julia language and I saw this speed table from here (lower is faster):
Fortran | Julia | Python | R | Matlab | Octave | Mathe-matica | JavaScript | Go | |
---|---|---|---|---|---|---|---|---|---|
gcc 4.8.1 | 0.2 | 2.7.3 | 3.0.2 | R2012a | 3.6.4 | 8.0 | V8 3.7.12.22 | go1 | |
fib | 0.26 | 0.91 | 30.37 | 411.36 | 1992.00 | 3211.81 | 64.46 | 2.18 | 1.03 |
parse_int | 5.03 | 1.60 | 13.95 | 59.40 | 1463.16 | 7109.85 | 29.54 | 2.43 | 4.79 |
quicksort | 1.11 | 1.14 | 31.98 | 524.29 | 101.84 | 1132.04 | 35.74 | 3.51 | 1.25 |
mandel | 0.86 | 0.85 | 14.19 | 106.97 | 64.58 | 316.95 | 6.07 | 3.49 | 2.36 |
pi_sum | 0.80 | 1.00 | 16.33 | 15.42 | 1.29 | 237.41 | 1.32 | 0.84 | 1.41 |
rand_mat_stat | 0.64 | 1.66 | 13.52 | 10.84 | 6.61 | 14.98 | 4.52 | 3.28 | 8.12 |
rand_mat_mul | 0.96 | 1.01 | 3.41 | 3.98 | 1.10 | 3.41 | 1.16 | 14.60 | 8.51 |
Julia is a dynamic high level language like MATLAB and Python that is open source and developed at MIT. The syntax looks fairly simple and it is about as fast as C (Fortran looks like it still is the Ferrari of scientific computing). Matlab is fast for vector and matrix operations but deadly slow for loops. I had no idea that Mathematica was so fast. Although Julia is still relatively new and not nearly as expansive as Python, should I drop Python for Julia?