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
+3
View File
@@ -28,6 +28,7 @@
#include "engine/engine_core_constraint.h"
#include "engine/engine_crossplatform.h"
#include "engine/engine_io.h"
#include "engine/engine_macro.h"
#include "engine/engine_support.h"
#include "engine/engine_util_blas.h"
#include "engine/engine_util_errmem.h"
@@ -387,6 +388,7 @@ quicksortfunc(contactcompare, context, el1, el2) {
}
void mj_collision(const mjModel* m, mjData* d) {
TM_START;
int g1, g2, merged, b1 = 0, b2 = 0, exadr = 0, pairadr = 0, startadr;
int nexclude = m->nexclude, npair = m->npair;
int *broadphasepair = 0;
@@ -492,6 +494,7 @@ void mj_collision(const mjModel* m, mjData* d) {
}
mj_freeStack(d);
TM_END(mjTIMER_POS_COLLISION);
}