Improvements to timing.

- Fixed bug in timing of kinematics, was under-reported.
- Moved timing of inertia and collision into respective functions, in preparation for multi-threading.
- Detailed profiling in `testspeed` is always on, removed command-line flag.
- Improved `testspeed` self-documentation.

PiperOrigin-RevId: 571989548
Change-Id: If0e3cc17f6f3511b98fc36339f406a19968a9361
This commit is contained in:
Yuval Tassa
2023-10-09 11:13:59 -07:00
committed by Copybara-Service
parent a1b39d5959
commit 18d9f1abb0
6 changed files with 86 additions and 71 deletions
+7 -8
View File
@@ -41,22 +41,21 @@ void mj_invPosition(const mjModel* m, mjData* d) {
mj_comPos(m, d);
mj_camlight(m, d);
mj_tendon(m, d);
mj_transmission(m, d);
TM_END(mjTIMER_POS_KINEMATICS);
TM_RESTART;
mj_crb(m, d);
mj_factorM(m, d);
TM_END(mjTIMER_POS_INERTIA);
mj_crb(m, d); // timed internally (POS_INERTIA)
mj_factorM(m, d); // timed internally (POS_INERTIA)
TM_RESTART;
mj_collision(m, d);
TM_END(mjTIMER_POS_COLLISION);
mj_collision(m, d); // timed internally (POS_COLLISION)
TM_RESTART;
mj_makeConstraint(m, d);
TM_END(mjTIMER_POS_MAKE);
TM_RESTART;
mj_transmission(m, d);
TM_ADD(mjTIMER_POS_KINEMATICS);
TM_END1(mjTIMER_POSITION);
}