Sebastian Micluța-Câmpeanu
Sebastian Micluța-Câmpeanu
Yeah, Plots doesn't subsample/rasterize the input. I think that https://github.com/SciML/OrdinaryDiffEq.jl/issues/421 is the related issue.
Some more ideas would be to cache neighbors and accelerations. This could potentially have a bigger impact than the above. - [x] Store neighbors in the `Simulation` object. This would...
@jgreener64 Regarding neighbors is it safe to assume that all `NeighbourFinder` return a `Tuple{Int, Int}[]`? I was not sure if the cache should be the same for all `NeighbourFinder`s (and...
In this case I'll just go with `Tuple{Int, Int}[]` for everything and if we need more we can change it in the future.
I noticed that even when I optimize a single acceleration function call to be faster than the one in `NBodySimulator`, the full simulation is still 2x slower. I think that...
I am in favor of the in-place and out of place APIs. I think this would go well with a future DiffEq integration (i.e. replace the simulators with ODEProblems). I'm...
Regarding performance and broadcasting, one of the optimizations in the energy function PR was about specializing the `dr` computation for `SVectors` by manually unrolling the broadcast. I'm not sure how...
Regarding the energy we could look at the - value of the energy or of the energy / particle - energy error (`E(t)` - `E_initial`) For both we could look...
I put the `dt` because otherwise we can't have a simple `run_simulation(simulation)` method as shown in the README. Should we use an adaptive algorithm by default in this case?
Looks like this was already reported here: https://github.com/uxbh/ztdns/pull/13