Okay so i managed to reproduce the issue. On my end i get the following results:
11.3.3 : 800ms
12.0 (without event detector) : 630 ms
12.0 (with event detector) : 66549 ms
I’ll need to use yourkit at work to be able to investigate this issue properly. I’ll post any update i have in this thread.
See the attached code to reproduce the issue (12.0 version).
IssueLongRunningTime.java (3.5 KB)
Cheers,
Vincent
UPDATE: It looks like it is caused by the presence of RecordAndContinue()
. When removing it i get a computation time of 1500 ms which is still a regression but already much better.
UPDATE 2 : Found the main cause of this issue : when Ephemeris interpolates some spacecraftstate, it gives the whole sample to the spacecraftstate interpolator which then create a cache with the whole sample. So for each interpolation, we have to chronologically sort the 60480 states when we will only use 4 states which is not really optimal. I have tested a solution which reduce the computation time to 1300 ms on my computer. I believe this is reasonable now that everything is thread safe. I’m opening an issue.