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
+4 -8
View File
@@ -106,14 +106,10 @@ void mj_fwdPosition(const mjModel* m, mjData* d) {
mj_tendon(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);
@@ -124,7 +120,7 @@ void mj_fwdPosition(const mjModel* m, mjData* d) {
TM_RESTART;
mj_transmission(m, d);
TM_END(mjTIMER_POS_KINEMATICS);
TM_ADD(mjTIMER_POS_KINEMATICS);
TM_RESTART;
mj_projectConstraint(m, d);