You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To attain maximal performance, it is recommended to pass `-O3`, `--check-bounds=no` as command line flags to `julia`. As of Julia 1.1, maximizing performance for the `dynamics!` algorithm requires either setting the number of BLAS threads to 1 (`using LinearAlgebra; BLAS.set_num_threads(1)`) if using OpenBLAS (the default), or compiling Julia with MKL. See [this issue](https://github.com/JuliaRobotics/RigidBodyDynamics.jl/issues/500) for more information.
3
+
To attain maximal performance, it is recommended to pass `-O3` and `--check-bounds=no` as command line flags to `julia`:
4
+
5
+
```bash
6
+
cd RigidBodyDynamics.jl
7
+
julia -O3 --check-bounds=no perf/runbenchmarks.jl
8
+
```
9
+
10
+
> **Warning**
11
+
> For Julia versions previous to `v1.8`, maximizing performance for the `dynamics!` algorithm requires either setting the number of BLAS threads to 1 (`using LinearAlgebra; BLAS.set_num_threads(1)`) if using OpenBLAS (the default), or compiling Julia with MKL. See [this issue](https://github.com/JuliaRobotics/RigidBodyDynamics.jl/issues/500) for more information.
4
12
5
13
Run `perf/runbenchmarks.jl` to see benchmark results for the Atlas robot (v5). Results below are for the following scenarios:
6
14
@@ -9,69 +17,62 @@ Run `perf/runbenchmarks.jl` to see benchmark results for the Atlas robot (v5). R
9
17
3. Do inverse dynamics.
10
18
4. Do forward dynamics.
11
19
12
-
Note that results on CI builds are **not at all** representative because of code coverage. Results on a reasonably fast laptop at commit [870bea6](https://github.com/JuliaRobotics/RigidBodyDynamics.jl/commit/870bea668d5b11ce0555fa0552592d2c3cb15c54):
20
+
> **Note**
21
+
> Results on CI builds are **not at all** representative because of code coverage.
13
22
14
-
Output of `versioninfo()`:
23
+
Below are the results for **RBD.jl 2.5.0** (commit [`93a5ea`](https://github.com/JuliaRobotics/RigidBodyDynamics.jl/commit/93a5eaf15a5f6714b1ec1ce621b053542dcb721d)) using **Julia 1.11.1** on an **Apple MacBook Air (M2, 2023)** (16GB RAM, 512GB SSD):
Note the low additional cost of computing a Jacobian when the mass matrix is already computed. This is because RigidBodyDynamics.jl caches intermediate computation results.
54
61
55
-
Inverse dynamics:
56
-
62
+
Inverse dynamics ([`inverse_dynamics!`](@ref)):
57
63
```
58
-
memory estimate: 0 bytes
59
-
allocs estimate: 0
60
-
--------------
61
-
minimum time: 4.256 μs (0.00% GC)
62
-
median time: 4.541 μs (0.00% GC)
63
-
mean time: 4.831 μs (0.00% GC)
64
-
maximum time: 21.625 μs (0.00% GC)
64
+
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
0 commit comments