Consider making ContinuousTrajectory non-thread safe

This issue has been tracked since 2022-04-18.

The performance analysis done as part of #3230 uncovered that the locking in ContinuousTrajectory is fairly expensive. In particular, ContinuousTrajectory::EvaluatePosition uses about 12.4% of the CPU in that journal, of which 5.3% is taken by locking/unlocking the mutex.

Considering that this class is only ever used from Ephemeris it might be preferable to declare that it is not thread-safe and that Ephemeris is in charge of all the synchronization.

rnlahaye wrote this answer on 2022-04-18

I have also observed this in traces.

More Details About Repo
Owner Name mockingbirdnest
Repo Name Principia
Full Name mockingbirdnest/Principia
Language C++
Created Date 2014-02-08
Updated Date 2023-03-29
Star Count 664
Watcher Count 29
Fork Count 62
Issue Count 109

YOU MAY BE INTERESTED

Issue Title Created Date Updated Date