# Benchmarking a simple PDE algorithm in Julia, Python, Matlab, C++, and Fortran

**URL:** <https://discourse.julialang.org/t/benchmarking-a-simple-pde-algorithm-in-julia-python-matlab-c-and-fortran/5002>\
**Category:** Numerics\
**Tags:** diffeq\
**Created:** [July 21, 2017, 5:44pm UTC](https://discourse.julialang.org/t/benchmarking-a-simple-pde-algorithm-in-julia-python-matlab-c-and-fortran/5002 "2017-07-21T17:44:14Z")\
**Posts on this page:** 1\
**Showing post:** 18

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [July 23, 2017, 4:55pm UTC](https://discourse.julialang.org/t/benchmarking-a-simple-pde-algorithm-in-julia-python-matlab-c-and-fortran/5002/18 "2017-07-23T16:55:56Z")

</div>

To do exponential integrators well we really need to up our game with `expmv` methods. The following two libraries exist:

[https://github.com/marcusps/ExpmV.jl](https://github.com/marcusps/ExpmV.jl)

[https://github.com/acroy/Expokit.jl](https://github.com/acroy/Expokit.jl)

The first actually uses a dense `normest2` so it’s not the true Higham algorithm yet and that slows it down. The latter uses a Krylov-based method, but doesn’t have all of the phi function calculations yet which are necessary for the high order methods like ETDRK4.

Though with `L` coming from a spectral discretization it’s probably small and dense so it might not need these tools as much? But the lack of such tools (i.e. implement a way to choose between dense and these different `expmv`s) is what is slowing down the generic DiffEq implementation of exponential integrators.

---

_[View the full topic](https://discourse.julialang.org/t/benchmarking-a-simple-pde-algorithm-in-julia-python-matlab-c-and-fortran/5002)._
