Skip to content

Instantly share code, notes, and snippets.

@ferrolho
Last active May 7, 2023 01:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ferrolho/75b21db6e841d3751670421146a968c7 to your computer and use it in GitHub Desktop.
Save ferrolho/75b21db6e841d3751670421146a968c7 to your computer and use it in GitHub Desktop.
RigidBodyDynamics.jl benchmarks
Date: May 6, 2023
Title: Benchmark of RBD.jl across Julia versions
Laptop: Dell XP 13 9343 (2015)
dynamics_bias!:
BenchmarkTools.Trial: 772 samples with 10 evaluations.
Range (min … max): 549.872 μs … 2.412 ms ┊ GC (min … max): 0.00% … 42.55%
Time (median): 563.841 μs ┊ GC (median): 0.00%
Time (mean ± σ): 640.594 μs ± 212.099 μs ┊ GC (mean ± σ): 8.85% ± 14.70%
Memory estimate: 373.80 KiB, allocs estimate: 7282.
dynamics!:
BenchmarkTools.Trial: 206 samples with 10 evaluations.
Range (min … max): 1.533 ms … 10.094 ms ┊ GC (min … max): 0.00% … 0.00%
Time (median): 1.698 ms ┊ GC (median): 0.00%
Time (mean ± σ): 2.385 ms ± 1.460 ms ┊ GC (mean ± σ): 4.71% ± 11.22%
Memory estimate: 375.80 KiB, allocs estimate: 7314.
momentum:
BenchmarkTools.Trial: 2344 samples with 10 evaluations.
Range (min … max): 175.455 μs … 1.267 ms ┊ GC (min … max): 0.00% … 81.83%
Time (median): 180.828 μs ┊ GC (median): 0.00%
Time (mean ± σ): 208.822 μs ± 117.725 μs ┊ GC (mean ± σ): 9.29% ± 13.05%
Memory estimate: 132.72 KiB, allocs estimate: 2480.
mass_matrix!:
BenchmarkTools.Trial: 1923 samples with 10 evaluations.
Range (min … max): 225.228 μs … 1.261 ms ┊ GC (min … max): 0.00% … 65.15%
Time (median): 230.474 μs ┊ GC (median): 0.00%
Time (mean ± σ): 257.385 μs ± 127.173 μs ┊ GC (mean ± σ): 8.69% ± 13.05%
Memory estimate: 144.20 KiB, allocs estimate: 2911.
momentum_matrix!:
BenchmarkTools.Trial: 1798 samples with 10 evaluations.
Range (min … max): 218.479 μs … 1.991 ms ┊ GC (min … max): 0.00% … 63.24%
Time (median): 228.172 μs ┊ GC (median): 0.00%
Time (mean ± σ): 274.879 μs ± 156.895 μs ┊ GC (mean ± σ): 8.98% ± 13.14%
Memory estimate: 144.20 KiB, allocs estimate: 2911.
center_of_mass:
BenchmarkTools.Trial: 4826 samples with 10 evaluations.
Range (min … max): 85.456 μs … 1.305 ms ┊ GC (min … max): 0.00% … 85.45%
Time (median): 87.420 μs ┊ GC (median): 0.00%
Time (mean ± σ): 102.195 μs ± 87.822 μs ┊ GC (mean ± σ): 8.98% ± 9.51%
Memory estimate: 51.94 KiB, allocs estimate: 1057.
geometric_jacobian!:
BenchmarkTools.Trial: 3348 samples with 10 evaluations.
Range (min … max): 127.270 μs … 1.703 ms ┊ GC (min … max): 0.00% … 79.00%
Time (median): 129.370 μs ┊ GC (median): 0.00%
Time (mean ± σ): 147.517 μs ± 95.460 μs ┊ GC (mean ± σ): 7.35% ± 10.22%
Memory estimate: 68.16 KiB, allocs estimate: 1547.
constraint_bias!:
BenchmarkTools.Trial: 402 samples with 10 evaluations.
Range (min … max): 1.061 ms … 2.554 ms ┊ GC (min … max): 0.00% … 45.69%
Time (median): 1.081 ms ┊ GC (median): 0.00%
Time (mean ± σ): 1.234 ms ± 289.183 μs ┊ GC (mean ± σ): 9.39% ± 14.39%
Memory estimate: 715.16 KiB, allocs estimate: 13978.
gravitational_potential_energy:
BenchmarkTools.Trial: 4944 samples with 10 evaluations.
Range (min … max): 87.856 μs … 1.197 ms ┊ GC (min … max): 0.00% … 82.28%
Time (median): 89.020 μs ┊ GC (median): 0.00%
Time (mean ± σ): 99.898 μs ± 82.898 μs ┊ GC (mean ± σ): 8.79% ± 9.46%
Memory estimate: 51.83 KiB, allocs estimate: 1116.
inverse_dynamics!:
BenchmarkTools.Trial: 1055 samples with 10 evaluations.
Range (min … max): 384.743 μs … 1.557 ms ┊ GC (min … max): 0.00% … 71.75%
Time (median): 397.670 μs ┊ GC (median): 0.00%
Time (mean ± σ): 464.308 μs ± 194.328 μs ┊ GC (mean ± σ): 9.36% ± 14.81%
with a memory estimate of 1.48 GiB, over 30179998 allocations.
constraint_jacobian!:
BenchmarkTools.Trial: 635 samples with 10 evaluations.
Range (min … max): 584.857 μs … 3.973 ms ┊ GC (min … max): 0.00% … 75.96%
Time (median): 594.161 μs ┊ GC (median): 0.00%
Time (mean ± σ): 774.498 μs ± 563.937 μs ┊ GC (mean ± σ): 7.02% ± 13.47%
Memory estimate: 411.42 KiB, allocs estimate: 6919.
mass_matrix! and geometric_jacobian!:
BenchmarkTools.Trial: 1892 samples with 10 evaluations.
Range (min … max): 227.307 μs … 2.821 ms ┊ GC (min … max): 0.00% … 0.00%
Time (median): 231.704 μs ┊ GC (median): 0.00%
Time (mean ± σ): 261.535 μs ± 160.750 μs ┊ GC (mean ± σ): 8.67% ± 13.18%
Memory estimate: 144.20 KiB, allocs estimate: 2911.
momentum_rate_bias:
BenchmarkTools.Trial: 991 samples with 10 evaluations.
Range (min … max): 424.654 μs … 3.019 ms ┊ GC (min … max): 0.00% … 0.00%
Time (median): 431.516 μs ┊ GC (median): 0.00%
Time (mean ± σ): 499.690 μs ± 266.558 μs ┊ GC (mean ± σ): 9.09% ± 15.10%
Memory estimate: 305.64 KiB, allocs estimate: 5735.
kinetic_energy:
BenchmarkTools.Trial: 2332 samples with 10 evaluations.
Range (min … max): 176.450 μs … 3.258 ms ┊ GC (min … max): 0.00% … 94.39%
Time (median): 179.979 μs ┊ GC (median): 0.00%
Time (mean ± σ): 212.350 μs ± 196.895 μs ┊ GC (mean ± σ): 9.59% ± 13.19%
Memory estimate: 132.72 KiB, allocs estimate: 2480.
dynamics_bias!:
BenchmarkTools.Trial: 775 samples with 10 evaluations.
Range (min … max): 549.559 μs … 2.263 ms ┊ GC (min … max): 0.00% … 41.64%
Time (median): 560.621 μs ┊ GC (median): 0.00%
Time (mean ± σ): 637.605 μs ± 213.136 μs ┊ GC (mean ± σ): 8.82% ± 14.83%
Memory estimate: 373.80 KiB, allocs estimate: 7282.
dynamics!:
BenchmarkTools.Trial: 747 samples with 10 evaluations.
Range (min … max): 571.451 μs … 2.224 ms ┊ GC (min … max): 0.00% … 41.60%
Time (median): 581.898 μs ┊ GC (median): 0.00%
Time (mean ± σ): 656.087 μs ± 214.446 μs ┊ GC (mean ± σ): 8.84% ± 14.72%
Memory estimate: 375.80 KiB, allocs estimate: 7314.
momentum:
BenchmarkTools.Trial: 2426 samples with 10 evaluations.
Range (min … max): 175.941 μs … 1.009 ms ┊ GC (min … max): 0.00% … 81.74%
Time (median): 179.400 μs ┊ GC (median): 0.00%
Time (mean ± σ): 204.001 μs ± 113.471 μs ┊ GC (mean ± σ): 9.33% ± 13.13%
Memory estimate: 132.72 KiB, allocs estimate: 2480.
mass_matrix!:
BenchmarkTools.Trial: 1908 samples with 10 evaluations.
Range (min … max): 225.418 μs … 1.341 ms ┊ GC (min … max): 0.00% … 65.95%
Time (median): 229.849 μs ┊ GC (median): 0.00%
Time (mean ± σ): 259.313 μs ± 130.769 μs ┊ GC (mean ± σ): 8.75% ± 13.13%
Memory estimate: 144.20 KiB, allocs estimate: 2911.
momentum_matrix!:
BenchmarkTools.Trial: 1962 samples with 10 evaluations.
Range (min … max): 218.522 μs … 1.182 ms ┊ GC (min … max): 0.00% … 63.91%
Time (median): 223.390 μs ┊ GC (median): 0.00%
Time (mean ± σ): 252.180 μs ± 129.038 μs ┊ GC (mean ± σ): 8.87% ± 13.18%
Memory estimate: 144.20 KiB, allocs estimate: 2911.
center_of_mass:
BenchmarkTools.Trial: 4951 samples with 10 evaluations.
Range (min … max): 85.388 μs … 1.158 ms ┊ GC (min … max): 0.00% … 81.51%
Time (median): 86.805 μs ┊ GC (median): 0.00%
Time (mean ± σ): 99.813 μs ± 82.711 μs ┊ GC (mean ± σ): 8.72% ± 9.53%
Memory estimate: 51.94 KiB, allocs estimate: 1057.
geometric_jacobian!:
BenchmarkTools.Trial: 3410 samples with 10 evaluations.
Range (min … max): 127.338 μs … 1.078 ms ┊ GC (min … max): 0.00% … 85.80%
Time (median): 130.257 μs ┊ GC (median): 0.00%
Time (mean ± σ): 145.139 μs ± 90.540 μs ┊ GC (mean ± σ): 7.48% ± 10.24%
Memory estimate: 68.16 KiB, allocs estimate: 1547.
constraint_bias!:
BenchmarkTools.Trial: 408 samples with 10 evaluations.
Range (min … max): 1.063 ms … 3.054 ms ┊ GC (min … max): 0.00% … 30.42%
Time (median): 1.085 ms ┊ GC (median): 0.00%
Time (mean ± σ): 1.216 ms ± 293.996 μs ┊ GC (mean ± σ): 9.29% ± 14.22%
Memory estimate: 715.16 KiB, allocs estimate: 13978.
gravitational_potential_energy:
BenchmarkTools.Trial: 4913 samples with 10 evaluations.
Range (min … max): 87.990 μs … 1.293 ms ┊ GC (min … max): 0.00% … 87.57%
Time (median): 89.163 μs ┊ GC (median): 0.00%
Time (mean ± σ): 100.566 μs ± 82.363 μs ┊ GC (mean ± σ): 8.65% ± 9.47%
Memory estimate: 51.83 KiB, allocs estimate: 1116.
inverse_dynamics!:
BenchmarkTools.Trial: 1102 samples with 10 evaluations.
Range (min … max): 384.175 μs … 1.568 ms ┊ GC (min … max): 0.00% … 56.85%
Time (median): 392.324 μs ┊ GC (median): 0.00%
Time (mean ± σ): 445.092 μs ± 181.567 μs ┊ GC (mean ± σ): 9.27% ± 14.71%
with a memory estimate of 1.48 GiB, over 30186045 allocations.
constraint_jacobian!:
BenchmarkTools.Trial: 754 samples with 10 evaluations.
Range (min … max): 584.851 μs … 1.725 ms ┊ GC (min … max): 0.00% … 40.98%
Time (median): 593.299 μs ┊ GC (median): 0.00%
Time (mean ± σ): 657.118 μs ± 178.083 μs ┊ GC (mean ± σ): 7.63% ± 13.56%
Memory estimate: 411.42 KiB, allocs estimate: 6919.
mass_matrix! and geometric_jacobian!:
BenchmarkTools.Trial: 1901 samples with 10 evaluations.
Range (min … max): 227.293 μs … 1.083 ms ┊ GC (min … max): 0.00% … 76.21%
Time (median): 232.047 μs ┊ GC (median): 0.00%
Time (mean ± σ): 260.293 μs ± 128.949 μs ┊ GC (mean ± σ): 8.66% ± 13.10%
Memory estimate: 144.20 KiB, allocs estimate: 2911.
momentum_rate_bias:
BenchmarkTools.Trial: 1015 samples with 10 evaluations.
Range (min … max): 424.664 μs … 1.290 ms ┊ GC (min … max): 0.00% … 60.08%
Time (median): 431.810 μs ┊ GC (median): 0.00%
Time (mean ± σ): 487.319 μs ± 179.685 μs ┊ GC (mean ± σ): 9.42% ± 15.17%
Memory estimate: 305.64 KiB, allocs estimate: 5735.
kinetic_energy:
BenchmarkTools.Trial: 2429 samples with 10 evaluations.
Range (min … max): 176.516 μs … 1.096 ms ┊ GC (min … max): 0.00% … 76.41%
Time (median): 180.087 μs ┊ GC (median): 0.00%
Time (mean ± σ): 203.297 μs ± 115.016 μs ┊ GC (mean ± σ): 9.60% ± 13.19%
Memory estimate: 132.72 KiB, allocs estimate: 2480.
dynamics_bias!:
BenchmarkTools.Trial: 774 samples with 10 evaluations.
Range (min … max): 557.586 μs … 1.921 ms ┊ GC (min … max): 0.00% … 42.79%
Time (median): 569.856 μs ┊ GC (median): 0.00%
Time (mean ± σ): 638.579 μs ± 206.659 μs ┊ GC (mean ± σ): 8.75% ± 14.61%
Memory estimate: 373.80 KiB, allocs estimate: 7282.
dynamics!:
BenchmarkTools.Trial: 282 samples with 10 evaluations.
Range (min … max): 1.313 ms … 4.087 ms ┊ GC (min … max): 0.00% … 0.00%
Time (median): 1.565 ms ┊ GC (median): 0.00%
Time (mean ± σ): 1.741 ms ± 430.415 μs ┊ GC (mean ± σ): 5.44% ± 11.33%
Memory estimate: 375.80 KiB, allocs estimate: 7314.
momentum:
BenchmarkTools.Trial: 2403 samples with 10 evaluations.
Range (min … max): 177.573 μs … 1.037 ms ┊ GC (min … max): 0.00% … 78.15%
Time (median): 181.071 μs ┊ GC (median): 0.00%
Time (mean ± σ): 204.282 μs ± 115.499 μs ┊ GC (mean ± σ): 9.54% ± 13.08%
Memory estimate: 132.72 KiB, allocs estimate: 2480.
mass_matrix!:
BenchmarkTools.Trial: 1909 samples with 10 evaluations.
Range (min … max): 228.121 μs … 1.252 ms ┊ GC (min … max): 0.00% … 76.79%
Time (median): 232.259 μs ┊ GC (median): 0.00%
Time (mean ± σ): 259.053 μs ± 126.340 μs ┊ GC (mean ± σ): 8.61% ± 12.97%
Memory estimate: 144.20 KiB, allocs estimate: 2911.
momentum_matrix!:
BenchmarkTools.Trial: 1983 samples with 10 evaluations.
Range (min … max): 220.359 μs … 1.120 ms ┊ GC (min … max): 0.00% … 63.34%
Time (median): 224.429 μs ┊ GC (median): 0.00%
Time (mean ± σ): 249.547 μs ± 124.302 μs ┊ GC (mean ± σ): 8.87% ± 13.11%
Memory estimate: 144.20 KiB, allocs estimate: 2911.
center_of_mass:
BenchmarkTools.Trial: 5053 samples with 10 evaluations.
Range (min … max): 86.755 μs … 1.082 ms ┊ GC (min … max): 0.00% … 82.69%
Time (median): 87.936 μs ┊ GC (median): 0.00%
Time (mean ± σ): 97.759 μs ± 79.317 μs ┊ GC (mean ± σ): 8.68% ± 9.48%
Memory estimate: 51.94 KiB, allocs estimate: 1057.
geometric_jacobian!:
BenchmarkTools.Trial: 3465 samples with 10 evaluations.
Range (min … max): 128.283 μs … 1.001 ms ┊ GC (min … max): 0.00% … 86.53%
Time (median): 130.106 μs ┊ GC (median): 0.00%
Time (mean ± σ): 142.665 μs ± 87.618 μs ┊ GC (mean ± σ): 7.48% ± 10.17%
Memory estimate: 68.16 KiB, allocs estimate: 1547.
constraint_bias!:
BenchmarkTools.Trial: 402 samples with 10 evaluations.
Range (min … max): 1.084 ms … 2.783 ms ┊ GC (min … max): 0.00% … 27.11%
Time (median): 1.110 ms ┊ GC (median): 0.00%
Time (mean ± σ): 1.237 ms ± 284.079 μs ┊ GC (mean ± σ): 8.66% ± 13.55%
Memory estimate: 715.16 KiB, allocs estimate: 13978.
gravitational_potential_energy:
BenchmarkTools.Trial: 4991 samples with 10 evaluations.
Range (min … max): 87.774 μs … 968.799 μs ┊ GC (min … max): 0.00% … 89.84%
Time (median): 88.792 μs ┊ GC (median): 0.00%
Time (mean ± σ): 99.050 μs ± 79.049 μs ┊ GC (mean ± σ): 8.44% ± 9.39%
Memory estimate: 51.83 KiB, allocs estimate: 1116.
inverse_dynamics!:
BenchmarkTools.Trial: 1057 samples with 10 evaluations.
Range (min … max): 390.006 μs … 1.838 ms ┊ GC (min … max): 0.00% … 49.72%
Time (median): 396.002 μs ┊ GC (median): 0.00%
Time (mean ± σ): 463.245 μs ± 197.231 μs ┊ GC (mean ± σ): 8.91% ± 14.50%
with a memory estimate of 1.48 GiB, over 30180984 allocations.
constraint_jacobian!:
BenchmarkTools.Trial: 596 samples with 10 evaluations.
Range (min … max): 596.574 μs … 3.969 ms ┊ GC (min … max): 0.00% … 77.59%
Time (median): 642.349 μs ┊ GC (median): 0.00%
Time (mean ± σ): 821.494 μs ± 558.789 μs ┊ GC (mean ± σ): 8.10% ± 13.51%
Memory estimate: 411.42 KiB, allocs estimate: 6919.
mass_matrix! and geometric_jacobian!:
BenchmarkTools.Trial: 1666 samples with 10 evaluations.
Range (min … max): 228.264 μs … 3.700 ms ┊ GC (min … max): 0.00% … 21.38%
Time (median): 236.577 μs ┊ GC (median): 0.00%
Time (mean ± σ): 295.413 μs ± 312.379 μs ┊ GC (mean ± σ): 8.83% ± 13.07%
Memory estimate: 144.20 KiB, allocs estimate: 2911.
momentum_rate_bias:
BenchmarkTools.Trial: 1001 samples with 10 evaluations.
Range (min … max): 430.978 μs … 2.864 ms ┊ GC (min … max): 0.00% … 0.00%
Time (median): 439.578 μs ┊ GC (median): 0.00%
Time (mean ± σ): 495.052 μs ± 193.343 μs ┊ GC (mean ± σ): 9.44% ± 15.13%
Memory estimate: 305.64 KiB, allocs estimate: 5735.
kinetic_energy:
BenchmarkTools.Trial: 2164 samples with 10 evaluations.
Range (min … max): 178.746 μs … 3.447 ms ┊ GC (min … max): 0.00% … 91.88%
Time (median): 183.052 μs ┊ GC (median): 0.00%
Time (mean ± σ): 228.695 μs ± 246.371 μs ┊ GC (mean ± σ): 9.35% ± 13.12%
Memory estimate: 132.72 KiB, allocs estimate: 2480.
dynamics_bias!:
BenchmarkTools.Trial: 667 samples with 10 evaluations.
Range (min … max): 557.882 μs … 3.032 ms ┊ GC (min … max): 0.00% … 55.88%
Time (median): 584.646 μs ┊ GC (median): 0.00%
Time (mean ± σ): 741.832 μs ± 321.978 μs ┊ GC (mean ± σ): 8.63% ± 14.81%
Memory estimate: 373.80 KiB, allocs estimate: 7282.
dynamics!:
BenchmarkTools.Trial: 574 samples with 10 evaluations.
Range (min … max): 585.991 μs … 6.919 ms ┊ GC (min … max): 0.00% … 56.04%
Time (median): 625.371 μs ┊ GC (median): 0.00%
Time (mean ± σ): 843.207 μs ± 466.230 μs ┊ GC (mean ± σ): 9.22% ± 14.80%
Memory estimate: 375.80 KiB, allocs estimate: 7314.
momentum:
BenchmarkTools.Trial: 2412 samples with 10 evaluations.
Range (min … max): 177.803 μs … 1.182 ms ┊ GC (min … max): 0.00% … 81.03%
Time (median): 181.878 μs ┊ GC (median): 0.00%
Time (mean ± σ): 205.182 μs ± 115.322 μs ┊ GC (mean ± σ): 9.56% ± 13.12%
Memory estimate: 132.72 KiB, allocs estimate: 2480.
mass_matrix!:
BenchmarkTools.Trial: 1763 samples with 10 evaluations.
Range (min … max): 227.887 μs … 1.401 ms ┊ GC (min … max): 0.00% … 82.28%
Time (median): 236.679 μs ┊ GC (median): 0.00%
Time (mean ± σ): 280.284 μs ± 146.779 μs ┊ GC (mean ± σ): 8.75% ± 13.04%
Memory estimate: 144.20 KiB, allocs estimate: 2911.
momentum_matrix!:
BenchmarkTools.Trial: 1852 samples with 10 evaluations.
Range (min … max): 220.527 μs … 1.423 ms ┊ GC (min … max): 0.00% … 75.47%
Time (median): 227.046 μs ┊ GC (median): 0.00%
Time (mean ± σ): 266.788 μs ± 145.948 μs ┊ GC (mean ± σ): 9.23% ± 13.18%
Memory estimate: 144.20 KiB, allocs estimate: 2911.
center_of_mass:
BenchmarkTools.Trial: 4645 samples with 10 evaluations.
Range (min … max): 86.795 μs … 1.469 ms ┊ GC (min … max): 0.00% … 86.18%
Time (median): 88.844 μs ┊ GC (median): 0.00%
Time (mean ± σ): 105.945 μs ± 91.188 μs ┊ GC (mean ± σ): 8.82% ± 9.44%
Memory estimate: 51.94 KiB, allocs estimate: 1057.
geometric_jacobian!:
BenchmarkTools.Trial: 3170 samples with 10 evaluations.
Range (min … max): 128.490 μs … 1.449 ms ┊ GC (min … max): 0.00% … 87.35%
Time (median): 132.884 μs ┊ GC (median): 0.00%
Time (mean ± σ): 155.631 μs ± 103.300 μs ┊ GC (mean ± σ): 7.57% ± 10.24%
Memory estimate: 68.16 KiB, allocs estimate: 1547.
constraint_bias!:
BenchmarkTools.Trial: 378 samples with 10 evaluations.
Range (min … max): 1.082 ms … 3.322 ms ┊ GC (min … max): 0.00% … 25.84%
Time (median): 1.117 ms ┊ GC (median): 0.00%
Time (mean ± σ): 1.312 ms ± 375.728 μs ┊ GC (mean ± σ): 8.80% ± 13.71%
Memory estimate: 715.16 KiB, allocs estimate: 13978.
gravitational_potential_energy:
BenchmarkTools.Trial: 4641 samples with 10 evaluations.
Range (min … max): 87.897 μs … 1.604 ms ┊ GC (min … max): 0.00% … 87.39%
Time (median): 89.680 μs ┊ GC (median): 0.00%
Time (mean ± σ): 106.291 μs ± 91.314 μs ┊ GC (mean ± σ): 8.65% ± 9.34%
Memory estimate: 51.83 KiB, allocs estimate: 1116.
inverse_dynamics!:
BenchmarkTools.Trial: 1099 samples with 10 evaluations.
Range (min … max): 389.827 μs … 2.166 ms ┊ GC (min … max): 0.00% … 53.24%
Time (median): 396.535 μs ┊ GC (median): 0.00%
Time (mean ± σ): 446.430 μs ± 178.903 μs ┊ GC (mean ± σ): 9.20% ± 14.61%
with a memory estimate of 1.48 GiB, over 30183878 allocations.
constraint_jacobian!:
BenchmarkTools.Trial: 719 samples with 10 evaluations.
Range (min … max): 604.422 μs … 1.896 ms ┊ GC (min … max): 0.00% … 46.01%
Time (median): 612.629 μs ┊ GC (median): 0.00%
Time (mean ± σ): 688.737 μs ± 188.914 μs ┊ GC (mean ± σ): 7.30% ± 13.30%
Memory estimate: 411.42 KiB, allocs estimate: 6919.
mass_matrix! and geometric_jacobian!:
BenchmarkTools.Trial: 1833 samples with 10 evaluations.
Range (min … max): 230.109 μs … 1.486 ms ┊ GC (min … max): 0.00% … 82.93%
Time (median): 234.929 μs ┊ GC (median): 0.00%
Time (mean ± σ): 270.101 μs ± 141.784 μs ┊ GC (mean ± σ): 8.92% ± 13.11%
Memory estimate: 144.20 KiB, allocs estimate: 2911.
momentum_rate_bias:
BenchmarkTools.Trial: 942 samples with 10 evaluations.
Range (min … max): 434.161 μs … 1.918 ms ┊ GC (min … max): 0.00% … 42.65%
Time (median): 444.042 μs ┊ GC (median): 0.00%
Time (mean ± σ): 526.074 μs ± 222.435 μs ┊ GC (mean ± σ): 9.29% ± 15.01%
Memory estimate: 305.64 KiB, allocs estimate: 5735.
kinetic_energy:
BenchmarkTools.Trial: 2330 samples with 10 evaluations.
Range (min … max): 180.376 μs … 1.367 ms ┊ GC (min … max): 0.00% … 68.44%
Time (median): 184.775 μs ┊ GC (median): 0.00%
Time (mean ± σ): 212.426 μs ± 124.259 μs ┊ GC (mean ± σ): 9.66% ± 13.05%
Memory estimate: 132.72 KiB, allocs estimate: 2480.
dynamics_bias!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 7.123 μs … 30.776 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 7.199 μs ┊ GC (median): 0.00%
Time (mean ± σ): 7.283 μs ± 572.519 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
dynamics!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 23.349 μs … 43.982 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 23.601 μs ┊ GC (median): 0.00%
Time (mean ± σ): 24.047 μs ± 1.818 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
momentum:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 4.440 μs … 10.113 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 4.509 μs ┊ GC (median): 0.00%
Time (mean ± σ): 4.569 μs ± 394.760 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
mass_matrix!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 11.849 μs … 1.623 ms ┊ GC (min … max): 0.00% … 0.00%
Time (median): 11.933 μs ┊ GC (median): 0.00%
Time (mean ± σ): 12.575 μs ± 16.166 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
momentum_matrix!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 5.169 μs … 12.385 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 5.268 μs ┊ GC (median): 0.00%
Time (mean ± σ): 5.348 μs ± 489.791 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
center_of_mass:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 2.968 μs … 8.050 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 3.043 μs ┊ GC (median): 0.00%
Time (mean ± σ): 3.106 μs ± 351.159 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
geometric_jacobian!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 3.918 μs … 12.667 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 3.992 μs ┊ GC (median): 0.00%
Time (mean ± σ): 4.030 μs ± 275.900 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
constraint_bias!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 13.446 μs … 25.732 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 13.855 μs ┊ GC (median): 0.00%
Time (mean ± σ): 13.997 μs ± 886.028 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 496 bytes, allocs estimate: 1.
gravitational_potential_energy:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 3.069 μs … 7.166 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 3.143 μs ┊ GC (median): 0.00%
Time (mean ± σ): 3.171 μs ± 216.956 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
inverse_dynamics!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 6.430 μs … 12.841 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 6.529 μs ┊ GC (median): 0.00%
Time (mean ± σ): 6.635 μs ± 543.855 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
simulate tree:
BenchmarkTools.Trial: 4 samples with 10 evaluations.
Range (min … max): 114.716 ms … 116.281 ms ┊ GC (min … max): 0.00% … 0.00%
Time (median): 115.071 ms ┊ GC (median): 0.00%
Time (mean ± σ): 115.285 ms ± 684.948 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
constraint_jacobian!:
BenchmarkTools.Trial: 9114 samples with 10 evaluations.
Range (min … max): 49.929 μs … 1.402 ms ┊ GC (min … max): 0.00% … 0.00%
Time (median): 50.514 μs ┊ GC (median): 0.00%
Time (mean ± σ): 53.539 μs ± 21.760 μs ┊ GC (mean ± σ): 0.16% ± 0.98%
Memory estimate: 496 bytes, allocs estimate: 1.
mass_matrix! and geometric_jacobian!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 11.768 μs … 184.810 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 12.280 μs ┊ GC (median): 0.00%
Time (mean ± σ): 13.952 μs ± 3.709 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
momentum_rate_bias:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 6.109 μs … 42.325 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 6.204 μs ┊ GC (median): 0.00%
Time (mean ± σ): 6.725 μs ± 1.309 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
kinetic_energy:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 4.456 μs … 10.328 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 4.531 μs ┊ GC (median): 0.00%
Time (mean ± σ): 4.734 μs ± 710.494 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
dynamics_bias!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 7.158 μs … 15.647 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 7.242 μs ┊ GC (median): 0.00%
Time (mean ± σ): 7.312 μs ± 410.863 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
dynamics!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 23.581 μs … 52.722 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 23.783 μs ┊ GC (median): 0.00%
Time (mean ± σ): 24.123 μs ± 1.520 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
momentum:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 4.518 μs … 10.906 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 4.589 μs ┊ GC (median): 0.00%
Time (mean ± σ): 4.666 μs ± 452.661 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
mass_matrix!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 12.043 μs … 22.571 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 12.131 μs ┊ GC (median): 0.00%
Time (mean ± σ): 12.276 μs ± 725.720 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
momentum_matrix!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 5.238 μs … 12.964 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 5.323 μs ┊ GC (median): 0.00%
Time (mean ± σ): 5.408 μs ± 490.897 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
center_of_mass:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 3.042 μs … 7.494 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 3.114 μs ┊ GC (median): 0.00%
Time (mean ± σ): 3.170 μs ± 342.451 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
geometric_jacobian!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 3.907 μs … 9.140 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 4.001 μs ┊ GC (median): 0.00%
Time (mean ± σ): 4.066 μs ± 397.399 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
constraint_bias!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 13.944 μs … 737.287 μs ┊ GC (min … max): 0.00% … 97.44%
Time (median): 14.358 μs ┊ GC (median): 0.00%
Time (mean ± σ): 14.690 μs ± 7.357 μs ┊ GC (mean ± σ): 0.49% ± 0.97%
Memory estimate: 496 bytes, allocs estimate: 1.
gravitational_potential_energy:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 3.056 μs … 6.985 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 3.142 μs ┊ GC (median): 0.00%
Time (mean ± σ): 3.163 μs ± 181.858 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
inverse_dynamics!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 6.444 μs … 12.908 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 6.530 μs ┊ GC (median): 0.00%
Time (mean ± σ): 6.607 μs ± 430.105 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
simulate tree:
BenchmarkTools.Trial: 4 samples with 10 evaluations.
Range (min … max): 115.644 ms … 116.867 ms ┊ GC (min … max): 0.00% … 0.00%
Time (median): 115.898 ms ┊ GC (median): 0.00%
Time (mean ± σ): 116.077 ms ± 541.807 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
constraint_jacobian!:
BenchmarkTools.Trial: 9538 samples with 10 evaluations.
Range (min … max): 50.135 μs … 80.508 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 50.403 μs ┊ GC (median): 0.00%
Time (mean ± σ): 51.225 μs ± 2.701 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 496 bytes, allocs estimate: 1.
mass_matrix! and geometric_jacobian!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 12.122 μs … 207.261 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 12.229 μs ┊ GC (median): 0.00%
Time (mean ± σ): 12.901 μs ± 3.496 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
momentum_rate_bias:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 6.101 μs … 13.561 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 6.182 μs ┊ GC (median): 0.00%
Time (mean ± σ): 6.293 μs ± 545.127 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
kinetic_energy:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 4.593 μs … 10.041 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 4.694 μs ┊ GC (median): 0.00%
Time (mean ± σ): 4.749 μs ± 345.677 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
dynamics_bias!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 6.978 μs … 14.281 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 7.060 μs ┊ GC (median): 0.00%
Time (mean ± σ): 7.144 μs ± 493.975 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
dynamics!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 23.636 μs … 44.699 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 23.892 μs ┊ GC (median): 0.00%
Time (mean ± σ): 24.225 μs ± 1.498 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
momentum:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 4.519 μs … 10.212 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 4.597 μs ┊ GC (median): 0.00%
Time (mean ± σ): 4.658 μs ± 380.145 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
mass_matrix!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 11.307 μs … 115.301 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 11.386 μs ┊ GC (median): 0.00%
Time (mean ± σ): 12.130 μs ± 2.432 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
momentum_matrix!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 5.217 μs … 11.027 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 5.308 μs ┊ GC (median): 0.00%
Time (mean ± σ): 5.425 μs ± 549.468 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
center_of_mass:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 2.923 μs … 11.271 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 2.992 μs ┊ GC (median): 0.00%
Time (mean ± σ): 3.107 μs ± 541.127 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
geometric_jacobian!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 3.811 μs … 8.383 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 3.889 μs ┊ GC (median): 0.00%
Time (mean ± σ): 3.934 μs ± 291.930 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
constraint_bias!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 13.822 μs … 711.733 μs ┊ GC (min … max): 0.00% … 97.23%
Time (median): 14.190 μs ┊ GC (median): 0.00%
Time (mean ± σ): 14.425 μs ± 7.032 μs ┊ GC (mean ± σ): 0.48% ± 0.97%
Memory estimate: 496 bytes, allocs estimate: 1.
gravitational_potential_energy:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 2.952 μs … 7.614 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 3.013 μs ┊ GC (median): 0.00%
Time (mean ± σ): 3.042 μs ± 224.421 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
inverse_dynamics!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 6.395 μs … 13.069 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 6.485 μs ┊ GC (median): 0.00%
Time (mean ± σ): 6.582 μs ± 518.396 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
simulate tree:
BenchmarkTools.Trial: 4 samples with 10 evaluations.
Range (min … max): 115.654 ms … 115.895 ms ┊ GC (min … max): 0.00% … 0.00%
Time (median): 115.824 ms ┊ GC (median): 0.00%
Time (mean ± σ): 115.799 ms ± 102.555 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
constraint_jacobian!:
BenchmarkTools.Trial: 9742 samples with 10 evaluations.
Range (min … max): 49.205 μs … 80.954 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 49.405 μs ┊ GC (median): 0.00%
Time (mean ± σ): 50.149 μs ± 2.349 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 496 bytes, allocs estimate: 1.
mass_matrix! and geometric_jacobian!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 12.368 μs … 23.875 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 12.466 μs ┊ GC (median): 0.00%
Time (mean ± σ): 12.621 μs ± 686.725 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
momentum_rate_bias:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 5.998 μs … 12.676 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 6.066 μs ┊ GC (median): 0.00%
Time (mean ± σ): 6.124 μs ± 350.170 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
kinetic_energy:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 4.436 μs … 9.022 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 4.510 μs ┊ GC (median): 0.00%
Time (mean ± σ): 4.549 μs ± 261.342 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
dynamics_bias!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 7.109 μs … 15.007 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 7.186 μs ┊ GC (median): 0.00%
Time (mean ± σ): 7.266 μs ± 436.233 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
dynamics!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 23.837 μs … 47.119 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 24.076 μs ┊ GC (median): 0.00%
Time (mean ± σ): 24.419 μs ± 1.449 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
momentum:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 4.561 μs … 8.427 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 4.630 μs ┊ GC (median): 0.00%
Time (mean ± σ): 4.677 μs ± 291.271 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
mass_matrix!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 11.274 μs … 132.006 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 11.360 μs ┊ GC (median): 0.00%
Time (mean ± σ): 11.734 μs ± 1.709 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
momentum_matrix!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 5.184 μs … 24.722 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 5.263 μs ┊ GC (median): 0.00%
Time (mean ± σ): 5.549 μs ± 901.981 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
center_of_mass:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 2.914 μs … 10.284 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 2.983 μs ┊ GC (median): 0.00%
Time (mean ± σ): 3.111 μs ± 558.639 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
geometric_jacobian!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 3.914 μs … 10.518 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 3.995 μs ┊ GC (median): 0.00%
Time (mean ± σ): 4.061 μs ± 407.014 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
constraint_bias!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 14.014 μs … 26.550 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 14.403 μs ┊ GC (median): 0.00%
Time (mean ± σ): 14.601 μs ± 1.105 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 496 bytes, allocs estimate: 1.
gravitational_potential_energy:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 2.899 μs … 7.636 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 2.972 μs ┊ GC (median): 0.00%
Time (mean ± σ): 3.009 μs ± 280.406 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
inverse_dynamics!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 6.679 μs … 12.854 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 6.760 μs ┊ GC (median): 0.00%
Time (mean ± σ): 6.838 μs ± 430.937 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
simulate tree:
BenchmarkTools.Trial: 4 samples with 10 evaluations.
Range (min … max): 116.038 ms … 117.995 ms ┊ GC (min … max): 0.00% … 0.00%
Time (median): 116.433 ms ┊ GC (median): 0.00%
Time (mean ± σ): 116.725 ms ± 873.345 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
constraint_jacobian!:
BenchmarkTools.Trial: 9792 samples with 10 evaluations.
Range (min … max): 48.693 μs … 697.574 μs ┊ GC (min … max): 0.00% … 92.30%
Time (median): 49.043 μs ┊ GC (median): 0.00%
Time (mean ± σ): 49.938 μs ± 7.000 μs ┊ GC (mean ± σ): 0.13% ± 0.93%
Memory estimate: 496 bytes, allocs estimate: 1.
mass_matrix! and geometric_jacobian!:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 12.358 μs … 22.193 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 12.454 μs ┊ GC (median): 0.00%
Time (mean ± σ): 12.622 μs ± 770.379 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
momentum_rate_bias:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 6.115 μs … 263.629 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 6.192 μs ┊ GC (median): 0.00%
Time (mean ± σ): 6.570 μs ± 2.859 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
kinetic_energy:
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
Range (min … max): 4.480 μs … 11.784 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 4.553 μs ┊ GC (median): 0.00%
Time (mean ± σ): 4.635 μs ± 495.120 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
Memory estimate: 0 bytes, allocs estimate: 0.
using Measurements
using Plots
using Unitful
import Plots.PlotMeasures: mm
import Unitful: ns, μs, ms, s
julia_versions = ["1.7.0", "1.7.3", "1.8.0", "1.8.5"]
data_multi_thread = Dict(
"dynamics_bias!" => [
640.594μs ± 212.099μs,
638.579μs ± 206.659μs,
7.283μs ± 572.519ns,
7.144μs ± 493.975ns,
],
"dynamics!" => [
2.385ms ± 1.460ms,
1.741ms ± 430.415μs,
24.047μs ± 1.818μs,
24.225μs ± 1.498μs,
],
"momentum" => [
208.822μs ± 117.725μs,
204.282μs ± 115.499μs,
4.569μs ± 394.760ns,
4.658μs ± 380.145ns,
],
"mass_matrix!" => [
257.385μs ± 127.173μs,
259.053μs ± 126.340μs,
12.575μs ± 16.166μs,
12.130μs ± 2.432μs,
],
"momentum_matrix!" => [
274.879μs ± 156.895μs,
249.547μs ± 124.302μs,
5.348μs ± 489.791ns,
5.425μs ± 549.468ns,
],
"center_of_mass" => [
102.195μs ± 87.822μs,
97.759μs ± 79.317μs,
3.106μs ± 351.159ns,
3.107μs ± 541.127ns,
],
"geometric_jacobian!" => [
147.517μs ± 95.460μs,
142.665μs ± 87.618μs,
4.030μs ± 275.900ns,
3.934μs ± 291.930ns,
],
"constraint_bias!" => [
1.234ms ± 289.183μs,
1.237ms ± 284.079μs,
13.997μs ± 886.028ns,
14.425μs ± 7.032μs,
],
"gravitational_potential_energy" => [
99.898μs ± 82.898μs,
99.050μs ± 79.049μs,
3.171μs ± 216.956ns,
3.042μs ± 224.421ns,
],
"inverse_dynamics!" => [
464.308μs ± 194.328μs,
463.245μs ± 197.231μs,
6.635μs ± 543.855ns,
6.582μs ± 518.396ns,
],
"constraint_jacobian!" => [
774.498μs ± 563.937μs,
821.494μs ± 558.789μs,
53.539μs ± 21.760μs,
50.149μs ± 2.349μs,
],
"mass_matrix! and geometric_jacobian!" => [
261.535μs ± 160.750μs,
295.413μs ± 312.379μs,
13.952μs ± 3.709μs,
12.621μs ± 686.725ns,
],
"momentum_rate_bias" => [
499.690μs ± 266.558μs,
495.052μs ± 193.343μs,
6.725μs ± 1.309μs,
6.124μs ± 350.170ns,
],
"kinetic_energy" => [
212.350μs ± 196.895μs,
228.695μs ± 246.371μs,
4.734μs ± 710.494ns,
4.549μs ± 261.342ns,
],
)
data_single_thread = Dict(
"dynamics_bias!" => [
637.605μs ± 213.136μs,
741.832μs ± 321.978μs,
7.312μs ± 410.863ns,
7.266μs ± 436.233ns,
],
"dynamics!" => [
656.087μs ± 214.446μs,
843.207μs ± 466.230μs,
24.123μs ± 1.520μs,
24.419μs ± 1.449μs,
],
"momentum" => [
204.001μs ± 113.471μs,
205.182μs ± 115.322μs,
4.666μs ± 452.661ns,
4.677μs ± 291.271ns,
],
"mass_matrix!" => [
259.313μs ± 130.769μs,
280.284μs ± 146.779μs,
12.276μs ± 725.720ns,
11.734μs ± 1.709μs,
],
"momentum_matrix!" => [
252.180μs ± 129.038μs,
266.788μs ± 145.948μs,
5.408μs ± 490.897ns,
5.549μs ± 901.981ns,
],
"center_of_mass" => [
99.813μs ± 82.711μs,
105.945μs ± 91.188μs,
3.170μs ± 342.451ns,
3.111μs ± 558.639ns,
],
"geometric_jacobian!" => [
145.139μs ± 90.540μs,
155.631μs ± 103.300μs,
4.066μs ± 397.399ns,
4.061μs ± 407.014ns,
],
"constraint_bias!" => [
1.216ms ± 293.996μs,
1.312ms ± 375.728μs,
14.690μs ± 7.357μs,
14.601μs ± 1.105μs,
],
"gravitational_potential_energy" => [
100.566μs ± 82.363μs,
106.291μs ± 91.314μs,
3.163μs ± 181.858ns,
3.009μs ± 280.406ns,
],
"inverse_dynamics!" => [
445.092μs ± 181.567μs,
446.430μs ± 178.903μs,
6.607μs ± 430.105ns,
6.838μs ± 430.937ns,
],
"constraint_jacobian!" => [
657.118μs ± 178.083μs,
688.737μs ± 188.914μs,
51.225μs ± 2.701μs,
49.938μs ± 7.000μs,
],
"mass_matrix! and geometric_jacobian!" => [
260.293μs ± 128.949μs,
270.101μs ± 141.784μs,
12.901μs ± 3.496μs,
12.622μs ± 770.379ns,
],
"momentum_rate_bias" => [
487.319μs ± 179.685μs,
526.074μs ± 222.435μs,
6.293μs ± 545.127ns,
6.570μs ± 2.859μs,
],
"kinetic_energy" => [
203.297μs ± 115.016μs,
212.426μs ± 124.259μs,
4.749μs ± 345.677ns,
4.635μs ± 495.120ns,
],
)
function_names = keys(data_multi_thread) |> collect
plots = map(function_names) do fn
p = plot(title=fn, title_location=:left)
plot!(julia_versions, data_multi_thread[fn], label="multi-threaded", yunit=ms)
plot!(julia_versions, data_single_thread[fn], label="single-threaded", yunit=ms)
end
plot(
plots...,
layout=grid(length(function_names) ÷ 2, 2),
size=(720, 1280),
left_margin=8mm,
# bottom_margin=2mm,
plot_title="Benchmark of RigidBodyDynamics.jl across Julia versions",
plot_titlefontsize=12, # default: 16
guidefontsize=10, # default: 11
legendfontsize=8, # default: 8
tickfontsize=8, # default: 8
titlefontsize=10, # default: 14
)
@ferrolho
Copy link
Author

ferrolho commented May 6, 2023

These are the results from running

cd ~/git/RigidBodyDynamics.jl/perf
julia --project -O3 --check-bounds=no
include("runbenchmarks.jl")

as of today (May 6, 2023) on a Dell XP 13 9343 (2015) running Ubuntu 22.04 for different versions of Julia.

Here's the output of versioninfo():

julia> versioninfo()
Julia Version 1.8.5
Commit 17cfb8e65e* (2023-01-08 06:45 UTC)
Platform Info:
  OS: macOS (arm64-apple-darwin22.1.0)
  CPU: 8 × Apple M1
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-13.0.1 (ORCJIT, apple-m1)
  Threads: 1 on 4 virtual cores

@ferrolho
Copy link
Author

ferrolho commented May 7, 2023

Benchmark of RBD jl across Julia versions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment