BoundaryValueDiffEq.jl
BoundaryValueDiffEq.jl copied to clipboard
Change ODEIntreface to BVPInterface in extension
Trying to address #209
Basically, BVPInterface is the successor of ODEInterface with several bug fixes, has more algorithms for BVP solving, and will be interfacing more solvers in the future
Amazing!
Benchmark Results
| master | 0143c3f3b10571... | master/0143c3f3b10571... | |
|---|---|---|---|
| Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK2() | 6.89 ± 0.23 ms | 6.81 ± 0.25 ms | 1.01 |
| Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK3() | 2.53 ± 0.15 ms | 2.54 ± 0.13 ms | 0.996 |
| Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK4() | 0.904 ± 0.064 ms | 0.907 ± 0.064 ms | 0.997 |
| Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK5() | 2.54 ± 0.42 ms | 2.48 ± 0.44 ms | 1.02 |
| Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK6() | 1.07 ± 0.14 ms | 1.06 ± 0.15 ms | 1.01 |
| Simple Pendulum/IIP/MultipleShooting(10, Tsit5; grid_coarsening = false) | 2.03 ± 0.61 ms | 1.97 ± 0.58 ms | 1.03 |
| Simple Pendulum/IIP/MultipleShooting(10, Tsit5; grid_coarsening = true) | 3.68 ± 0.9 ms | 3.61 ± 0.88 ms | 1.02 |
| Simple Pendulum/IIP/MultipleShooting(100, Tsit5; grid_coarsening = false) | 0.0559 ± 0.011 s | 0.0556 ± 0.0082 s | 1 |
| Simple Pendulum/IIP/MultipleShooting(100, Tsit5; grid_coarsening = true) | 0.0705 ± 0.015 s | 0.0693 ± 0.012 s | 1.02 |
| Simple Pendulum/IIP/Shooting(Tsit5()) | 0.252 ± 0.075 ms | 0.248 ± 0.077 ms | 1.02 |
| Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK2() | 0.0405 ± 0.00095 s | 0.0387 ± 0.00087 s | 1.04 |
| Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK3() | 12 ± 0.5 ms | 11.4 ± 0.23 ms | 1.05 |
| Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK4() | 3.46 ± 0.23 ms | 3.33 ± 0.21 ms | 1.04 |
| Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK5() | 10 ± 0.84 ms | 9.8 ± 0.84 ms | 1.02 |
| Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK6() | 3.67 ± 0.29 ms | 3.54 ± 0.28 ms | 1.03 |
| Simple Pendulum/OOP/MultipleShooting(10, Tsit5; grid_coarsening = false) | 3.63 ± 2.6 ms | 3.5 ± 2.6 ms | 1.04 |
| Simple Pendulum/OOP/MultipleShooting(10, Tsit5; grid_coarsening = true) | 6.33 ± 4.2 ms | 6.06 ± 4.3 ms | 1.04 |
| Simple Pendulum/OOP/MultipleShooting(100, Tsit5; grid_coarsening = false) | 0.108 ± 0.0088 s | 0.103 ± 0.0038 s | 1.05 |
| Simple Pendulum/OOP/MultipleShooting(100, Tsit5; grid_coarsening = true) | 0.134 ± 0.014 s | 0.124 ± 0.0072 s | 1.08 |
| Simple Pendulum/OOP/Shooting(Tsit5()) | 0.651 ± 0.06 ms | 0.624 ± 0.054 ms | 1.04 |
| time_to_load | 5.93 ± 0.11 s | 5.67 ± 0.041 s | 1.05 |
Benchmark Plots
A plot of the benchmark results have been uploaded as an artifact to the workflow run for this PR. Go to "Actions"->"Benchmark a pull request"->[the most recent run]->"Artifacts" (at the bottom).