Test command
$ testspeed ~/projects/Hobot/hobot/environments/mj_models/go1/scene.xml 100000 20
Where 20
means using 20 (asynchronous) threads.
Running 100000 steps per thread at dt = 0.005 ...
Summary for all 20 threads
Total simulation time : 8.71 s
Total steps per second : 229735
Total realtime factor : 1148.68 x
Total time per step : 4.4 µs
Details for thread 0
Simulation time : 8.55 s
Steps per second : 11701
Realtime factor : 58.51 x
Time per step : 85.5 µs
Broadphase accuracy : 99.98%
Midphase accuracy : 99.98%
Contacts per step : 4.00
Constraints per step : 29.98
Degrees of freedom : 18
Internal profiler for thread 0 (µs per step)
step : 85.3 (100.00 %)
forward : 84.0 ( 98.42 %)
position : 30.5 ( 35.78 %)
velocity : 1.8 ( 2.12 %)
actuation : 0.3 ( 0.39 %)
acceleration : 0.4 ( 0.51 %)
constraint : 49.0 ( 57.39 %)
pos_kinematics : 3.0 ( 3.51 %)
pos_inertia : 1.5 ( 1.79 %)
pos_collision : 22.3 ( 26.14 %)
pos_make : 3.5 ( 4.09 %)
pos_project : 0.0 ( 0.04 %)
other : 3.2 ( 3.80 %)
Running 100000 steps per thread at dt = 0.005 ...
Summary for all 20 threads
Total simulation time : 6.75 s
Total steps per second : 296229
Total realtime factor : 1481.15 x
Total time per step : 3.4 µs
Details for thread 0
Simulation time : 4.87 s
Steps per second : 20536
Realtime factor : 102.68 x
Time per step : 48.7 µs
Broadphase accuracy : 99.98%
Midphase accuracy : 99.98%
Contacts per step : 4.00
Constraints per step : 29.98
Degrees of freedom : 18
Internal profiler for thread 0 (µs per step)
step : 48.6 (100.00 %)
forward : 47.9 ( 98.56 %)
position : 15.0 ( 30.84 %)
velocity : 0.9 ( 1.92 %)
actuation : 0.2 ( 0.33 %)
acceleration : 0.2 ( 0.50 %)
constraint : 30.6 ( 62.95 %)
pos_kinematics : 1.6 ( 3.24 %)
pos_inertia : 0.8 ( 1.55 %)
pos_collision : 10.8 ( 22.28 %)
pos_make : 1.7 ( 3.45 %)
pos_project : 0.0 ( 0.05 %)
other : 1.7 ( 3.44 %)
Running 100000 steps per thread at dt = 0.005 ...
Summary for all 20 threads
Total simulation time : 6.43 s
Total steps per second : 310905
Total realtime factor : 1554.52 x
Total time per step : 3.2 µs
Details for thread 0
Simulation time : 6.20 s
Steps per second : 16139
Realtime factor : 80.70 x
Time per step : 62.0 µs
Broadphase accuracy : 99.98%
Midphase accuracy : 99.98%
Contacts per step : 4.00
Constraints per step : 29.98
Degrees of freedom : 18
Internal profiler for thread 0 (µs per step)
step : 61.8 (100.00 %)
forward : 60.9 ( 98.51 %)
position : 21.1 ( 34.10 %)
velocity : 1.2 ( 1.93 %)
actuation : 0.2 ( 0.34 %)
acceleration : 0.3 ( 0.54 %)
constraint : 36.8 ( 59.55 %)
pos_kinematics : 2.1 ( 3.39 %)
pos_inertia : 1.0 ( 1.55 %)
pos_collision : 15.6 ( 25.19 %)
pos_make : 2.3 ( 3.64 %)
pos_project : 0.0 ( 0.05 %)
other : 2.2 ( 3.55 %)
With 32 threads:
Running 100000 steps per thread at dt = 0.005 ...
Summary for all 32 threads
Total simulation time : 6.53 s
Total steps per second : 490144
Total realtime factor : 2450.72 x
Total time per step : 2.0 µs
Details for thread 0
Simulation time : 6.30 s
Steps per second : 15880
Realtime factor : 79.40 x
Time per step : 63.0 µs
Broadphase accuracy : 99.98%
Midphase accuracy : 99.98%
Contacts per step : 4.00
Constraints per step : 29.98
Degrees of freedom : 18
Internal profiler for thread 0 (µs per step)
step : 62.8 (100.00 %)
forward : 61.9 ( 98.54 %)
position : 21.6 ( 34.40 %)
velocity : 1.2 ( 1.91 %)
actuation : 0.2 ( 0.34 %)
acceleration : 0.3 ( 0.50 %)
constraint : 37.3 ( 59.44 %)
pos_kinematics : 2.1 ( 3.40 %)
pos_inertia : 1.0 ( 1.55 %)
pos_collision : 16.0 ( 25.39 %)
pos_make : 2.4 ( 3.74 %)
pos_project : 0.0 ( 0.04 %)
other : 2.2 ( 3.43 %)