Skip to content

added : reduce allocations in MovingHorizonEstimator and initstate!#348

Merged
franckgaga merged 4 commits intomainfrom
mhe_allocs
Apr 16, 2026
Merged

added : reduce allocations in MovingHorizonEstimator and initstate!#348
franckgaga merged 4 commits intomainfrom
mhe_allocs

Conversation

@franckgaga
Copy link
Copy Markdown
Member

@franckgaga franckgaga commented Apr 15, 2026

Added new fields in StateEstimatorBuffer to reduce allocations of MovingHorizonEstimator. These new fields are useless for other StateEstimator types (they will be vectors with 0 elements).

Also reduced the allocations in initstate! for LinModel by using the existing buffers.

@franckgaga franckgaga changed the title added : reduce allocations in MovingHorizoneEstimator added : reduce allocations in MovingHorizonEstimator Apr 15, 2026
@franckgaga franckgaga changed the title added : reduce allocations in MovingHorizonEstimator added : reduce allocations in MovingHorizonEstimator and initstate! Apr 15, 2026
It modifies `estim.optim`, so let's keep it.
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Apr 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.55%. Comparing base (e9597f6) to head (3f9ddf6).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #348   +/-   ##
=======================================
  Coverage   98.54%   98.55%           
=======================================
  Files          27       27           
  Lines        5226     5250   +24     
=======================================
+ Hits         5150     5174   +24     
  Misses         76       76           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link
Copy Markdown

Benchmark Results (Julia v1)

Time benchmarks
main 3f9ddf6... main / 3f9ddf6...
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/DAQP/SingleShooting 4.93 ± 0.52 ms 5.07 ± 0.51 ms 0.973 ± 0.14
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/MultipleShooting 0.325 ± 0.007 s 0.319 ± 0.011 s 1.02 ± 0.041
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/SingleShooting 0.222 ± 0.019 s 0.217 ± 0.018 s 1.02 ± 0.12
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/MultipleShooting 9.25 ± 0.63 ms 9.45 ± 0.56 ms 0.979 ± 0.089
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/SingleShooting 1.75 ± 0.076 ms 1.83 ± 0.081 ms 0.954 ± 0.059
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/DAQP/SingleShooting 4.94 ± 0.49 ms 5.05 ± 0.5 ms 0.979 ± 0.14
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/MultipleShooting 0.281 ± 0.0053 s 0.276 ± 0.0028 s 1.02 ± 0.022
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/SingleShooting 0.236 ± 0.007 s 0.228 ± 0.0016 s 1.04 ± 0.031
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/MultipleShooting 6.45 ± 0.44 ms 6.7 ± 0.43 ms 0.962 ± 0.09
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/SingleShooting 1.93 ± 0.071 ms 1.91 ± 0.052 ms 1.01 ± 0.046
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/DAQP/SingleShooting 10.2 ± 1.8 ms 10.3 ± 1.8 ms 0.994 ± 0.24
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/MultipleShooting 0.349 ± 0.1 s 0.347 ± 0.11 s 1.01 ± 0.43
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/SingleShooting 0.161 ± 0.0018 s 0.161 ± 0.0009 s 1 ± 0.013
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/MultipleShooting 0.135 ± 0.029 s 0.132 ± 0.027 s 1.02 ± 0.3
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/SingleShooting 13.5 ± 2 ms 13.4 ± 1.9 ms 1 ± 0.21
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting 0.737 ± 0.0074 s 0.744 ± 0.002 s 0.99 ± 0.01
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting (Hessian) 0.676 ± 0.0065 s 0.683 ± 0.0058 s 0.99 ± 0.013
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/SingleShooting 1.86 ± 0.013 s 1.93 ± 0.009 s 0.963 ± 0.0079
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation 0.506 ± 0.0051 s 0.504 ± 0.0026 s 1 ± 0.011
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation (Hessian) 0.507 ± 0.0079 s 0.505 ± 0.0096 s 1 ± 0.025
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting 0.362 ± 0.0046 s 0.367 ± 0.0055 s 0.986 ± 0.019
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting (Hessian) 0.456 ± 0.015 s 0.443 ± 0.0011 s 1.03 ± 0.033
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/OrthogonalCollocation 0.548 ± 0.0034 s 0.554 ± 0.0028 s 0.989 ± 0.0079
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/OrthogonalCollocation (Hessian) 0.549 ± 0.0051 s 0.556 ± 0.0014 s 0.989 ± 0.0096
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting 0.519 ± 0.0034 s 0.518 ± 0.0017 s 1 ± 0.0073
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting (Hessian) 0.181 ± 0.0035 s 0.181 ± 0.00068 s 1 ± 0.02
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation 0.339 ± 0.0015 s 0.346 ± 0.0013 s 0.981 ± 0.0058
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation (Hessian) 0.334 ± 0.0012 s 0.342 ± 0.00085 s 0.978 ± 0.0043
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/MadNLP/SingleShooting (Hessian) 0.0765 ± 0.00082 s 0.0752 ± 0.00036 s 1.02 ± 0.012
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Uno/MultipleShooting (Hessian) 0.207 ± 0.012 s 0.209 ± 0.011 s 0.991 ± 0.075
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting 0.35 ± 0.00084 s 0.355 ± 0.0044 s 0.985 ± 0.012
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (Hessian) 0.377 ± 0.0018 s 0.379 ± 0.00064 s 0.995 ± 0.0049
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (threaded) 0.377 ± 0.003 s 0.381 ± 0.0051 s 0.989 ± 0.015
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/OrthogonalCollocation 0.619 ± 0.0073 s 0.611 ± 0.0025 s 1.01 ± 0.013
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/OrthogonalCollocation (Hessian) 1.82 ± 0.014 s 1.84 ± 0.033 s 0.991 ± 0.019
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting 0.509 ± 0.0015 s 0.515 ± 0.0024 s 0.988 ± 0.0053
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting (Hessian) 0.177 ± 0.00075 s 0.176 ± 0.00054 s 1.01 ± 0.0053
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation 0.341 ± 0.00094 s 0.341 ± 0.00062 s 1 ± 0.0033
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (Hessian) 0.294 ± 0.0012 s 0.293 ± 0.004 s 1.01 ± 0.014
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (threaded) 0.374 ± 0.0032 s 0.369 ± 0.00094 s 1.01 ± 0.0091
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/MultipleShooting (Hessian) 0.255 ± 0.00078 s 0.256 ± 0.0012 s 0.994 ± 0.0056
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/SingleShooting (Hessian) 0.0722 ± 0.00031 s 0.0723 ± 0.0003 s 0.999 ± 0.0059
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Uno/MultipleShooting (Hessian) 0.185 ± 0.002 s 0.185 ± 0.00072 s 1 ± 0.011
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Uno/OrthogonalCollocation (Hessian) 1.29 ± 0.021 s 1.3 ± 0.032 s 0.999 ± 0.029
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Current form 0.0432 ± 0.0017 s 0.0441 ± 0.0024 s 0.979 ± 0.065
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Prediction form 0.0367 ± 0.011 s 0.0366 ± 0.012 s 1 ± 0.44
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Current form 0.175 ± 0.049 s 0.174 ± 0.044 s 1 ± 0.38
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Prediction form 0.168 ± 0.031 s 0.176 ± 0.032 s 0.957 ± 0.25
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Current form 0.0369 ± 0.0059 s 0.0352 ± 0.0059 s 1.05 ± 0.24
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Prediction form 30.3 ± 7.1 ms 29.9 ± 8.3 ms 1.01 ± 0.37
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form 0.0875 ± 0.0016 s 0.091 ± 0.0005 s 0.961 ± 0.018
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form (Hessian) 0.0899 ± 0.0002 s 0.0906 ± 0.00048 s 0.992 ± 0.0057
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form 0.0648 ± 0.00037 s 0.0665 ± 0.00014 s 0.975 ± 0.0059
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form (Hessian) 0.0846 ± 0.00027 s 0.0878 ± 0.00017 s 0.963 ± 0.0036
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Current form (Hessian) 0.0493 ± 0.00035 s 0.0484 ± 0.00033 s 1.02 ± 0.01
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Prediction form (Hessian) 0.0431 ± 0.00021 s 0.0445 ± 0.00051 s 0.97 ± 0.012
UNIT TESTS/PredictiveController/ExplicitMPC/moveinput! 4.69 ± 0.05 μs 4.38 ± 0.04 μs 1.07 ± 0.015
UNIT TESTS/PredictiveController/LinMPC/getinfo! 0.0949 ± 0.0019 ms 0.0947 ± 0.0016 ms 1 ± 0.026
UNIT TESTS/PredictiveController/LinMPC/moveinput!/MultipleShooting 0.109 ± 0.0012 ms 0.109 ± 0.0012 ms 0.995 ± 0.016
UNIT TESTS/PredictiveController/LinMPC/moveinput!/SingleShooting 16 ± 0.29 μs 15.6 ± 0.28 μs 1.02 ± 0.026
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/LinModel 0.207 ± 0.013 ms 0.2 ± 0.01 ms 1.04 ± 0.085
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/NonLinModel 0.243 ± 0.017 ms 0.237 ± 0.015 ms 1.03 ± 0.095
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/MultipleShooting 1.93 ± 0.25 ms 1.92 ± 0.24 ms 1 ± 0.18
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/SingleShooting 1.29 ± 0.033 ms 1.29 ± 0.028 ms 1 ± 0.033
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShooting 2.52 ± 0.75 ms 2.52 ± 0.76 ms 1 ± 0.42
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShootingHessian 2.34 ± 0.09 ms 2.37 ± 0.13 ms 0.989 ± 0.066
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/OrthogonalCollocation 2.13 ± 0.16 ms 2.15 ± 0.11 ms 0.989 ± 0.091
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/OrthogonalCollocationHessian 3.15 ± 0.14 ms 3.2 ± 0.14 ms 0.985 ± 0.062
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShooting 1.31 ± 0.031 ms 1.32 ± 0.033 ms 0.989 ± 0.034
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShootingHessian 1.3 ± 0.03 ms 1.3 ± 0.026 ms 0.998 ± 0.03
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/TrapezoidalCollocation 1.66 ± 0.15 ms 1.66 ± 0.11 ms 0.999 ± 0.11
UNIT TESTS/SimModel/LinModel/evaloutput 0.14 ± 0 μs 0.15 ± 0.001 μs 0.933 ± 0.0062
UNIT TESTS/SimModel/LinModel/updatestate! 0.19 ± 0.001 μs 0.201 ± 0.01 μs 0.945 ± 0.047
UNIT TESTS/SimModel/NonLinModel/evaloutput 0.33 ± 0.001 μs 0.33 ± 0.001 μs 1 ± 0.0043
UNIT TESTS/SimModel/NonLinModel/linearize! 1.97 ± 0.05 μs 2.09 ± 0.03 μs 0.942 ± 0.027
UNIT TESTS/SimModel/NonLinModel/updatestate! 0.381 ± 0.001 μs 0.39 ± 0.01 μs 0.977 ± 0.025
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/LinModel 0.481 ± 0.011 μs 0.471 ± 0.01 μs 1.02 ± 0.032
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/NonLinModel 1.71 ± 0.02 μs 1.7 ± 0.03 μs 1.01 ± 0.021
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/LinModel 0.591 ± 0.01 μs 0.631 ± 0 μs 0.937 ± 0.016
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/NonLinModel 1.32 ± 0.02 μs 1.29 ± 0.01 μs 1.02 ± 0.017
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/LinModel 3.95 ± 0.05 μs 3.93 ± 0.05 μs 1.01 ± 0.018
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/NonLinModel 8.25 ± 0.071 μs 8.02 ± 0.09 μs 1.03 ± 0.015
UNIT TESTS/StateEstimator/InternalModel/evaloutput/LinModel 0.23 ± 0.01 μs 0.261 ± 0.01 μs 0.881 ± 0.051
UNIT TESTS/StateEstimator/InternalModel/evaloutput/NonLinModel 0.471 ± 0.009 μs 0.531 ± 0.04 μs 0.887 ± 0.069
UNIT TESTS/StateEstimator/InternalModel/preparestate!/LinModel 0.37 ± 0.01 μs 0.391 ± 0.011 μs 0.946 ± 0.037
UNIT TESTS/StateEstimator/InternalModel/preparestate!/NonLinModel 0.611 ± 0.011 μs 0.621 ± 0.01 μs 0.984 ± 0.024
UNIT TESTS/StateEstimator/InternalModel/updatestate!/LinModel 0.541 ± 0.01 μs 0.541 ± 0.019 μs 1 ± 0.04
UNIT TESTS/StateEstimator/InternalModel/updatestate!/NonLinModel 1.14 ± 0.019 μs 1.16 ± 0.04 μs 0.984 ± 0.038
UNIT TESTS/StateEstimator/KalmanFilter/evaloutput 0.411 ± 0.001 μs 0.501 ± 0.01 μs 0.82 ± 0.016
UNIT TESTS/StateEstimator/KalmanFilter/preparestate! 0.12 ± 0 μs 0.14 ± 0 μs 0.857 ± 0
UNIT TESTS/StateEstimator/KalmanFilter/updatestate! 2.7 ± 0.05 μs 2.76 ± 0.05 μs 0.978 ± 0.025
UNIT TESTS/StateEstimator/Luenberger/evaloutput 0.201 ± 0.01 μs 0.22 ± 0.001 μs 0.914 ± 0.046
UNIT TESTS/StateEstimator/Luenberger/preparestate! 0.23 ± 0.01 μs 0.291 ± 0.029 μs 0.79 ± 0.086
UNIT TESTS/StateEstimator/Luenberger/updatestate! 0.31 ± 0.01 μs 0.34 ± 0.02 μs 0.912 ± 0.061
UNIT TESTS/StateEstimator/MovingHorizonEstimator/getinfo!/LinModel 0.194 ± 0.025 ms 0.223 ± 0.045 ms 0.872 ± 0.21
UNIT TESTS/StateEstimator/MovingHorizonEstimator/getinfo!/NonLinModel 0.326 ± 0.021 ms 0.324 ± 0.02 ms 1.01 ± 0.09
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Current form 3.65 ± 0.23 ms 3.6 ± 0.15 ms 1.02 ± 0.076
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Prediction form 0.391 ± 0.01 μs 0.421 ± 0.001 μs 0.929 ± 0.024
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Current form 0.321 ± 0.019 ms 0.315 ± 0.019 ms 1.02 ± 0.084
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Prediction form 1.39 ± 0.02 μs 1.24 ± 0.02 μs 1.12 ± 0.024
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Current form 10.8 ± 3 μs 9.05 ± 2.4 μs 1.19 ± 0.46
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Prediction form 3.24 ± 0.18 ms 3.14 ± 0.13 ms 1.03 ± 0.072
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Current form 18 ± 0.52 μs 17.5 ± 0.51 μs 1.03 ± 0.042
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Prediction form 0.345 ± 0.019 ms 0.34 ± 0.019 ms 1.02 ± 0.08
UNIT TESTS/StateEstimator/SteadyKalmanFilter/evaloutput 0.231 ± 0.01 μs 0.251 ± 0.01 μs 0.92 ± 0.054
UNIT TESTS/StateEstimator/SteadyKalmanFilter/preparestate! 0.591 ± 0.03 μs 0.251 ± 0.01 μs 2.35 ± 0.15
UNIT TESTS/StateEstimator/SteadyKalmanFilter/updatestate! 0.421 ± 0.021 μs 0.671 ± 0.02 μs 0.627 ± 0.036
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/LinModel 0.29 ± 0.019 μs 0.29 ± 0.01 μs 1 ± 0.074
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/NonLinModel 0.891 ± 0.021 μs 0.842 ± 0.02 μs 1.06 ± 0.035
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/LinModel 3.89 ± 0.07 μs 3.74 ± 0.069 μs 1.04 ± 0.027
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/NonLinModel 4.9 ± 0.051 μs 4.87 ± 0.05 μs 1.01 ± 0.015
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/LinModel 3.69 ± 0.051 μs 3.72 ± 0.06 μs 0.992 ± 0.021
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/NonLinModel 6.54 ± 0.07 μs 6.7 ± 0.1 μs 0.976 ± 0.018
time_to_load 5.94 ± 0.063 s 5.85 ± 0.015 s 1.02 ± 0.011
Memory benchmarks
main 3f9ddf6... main / 3f9ddf6...
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/DAQP/SingleShooting 0.0469 M allocs: 1.85 MB 0.0469 M allocs: 1.85 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/MultipleShooting 0.162 M allocs: 8.9 MB 0.162 M allocs: 8.9 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/SingleShooting 0.0536 M allocs: 2.38 MB 0.0536 M allocs: 2.38 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/MultipleShooting 0.0758 M allocs: 1.95 MB 0.0758 M allocs: 1.95 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/SingleShooting 7.85 k allocs: 0.249 MB 7.84 k allocs: 0.249 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/DAQP/SingleShooting 0.0468 M allocs: 1.84 MB 0.0468 M allocs: 1.84 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/MultipleShooting 0.127 M allocs: 7.07 MB 0.127 M allocs: 7.07 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/SingleShooting 0.0553 M allocs: 2.42 MB 0.0553 M allocs: 2.42 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/MultipleShooting 0.0532 M allocs: 1.39 MB 0.0531 M allocs: 1.39 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/SingleShooting 7.7 k allocs: 0.243 MB 7.69 k allocs: 0.243 MB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/DAQP/SingleShooting 0.119 M allocs: 6.37 MB 0.119 M allocs: 6.37 MB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/MultipleShooting 4.65 M allocs: 0.251 GB 4.65 M allocs: 0.251 GB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/SingleShooting 0.115 M allocs: 6.67 MB 0.115 M allocs: 6.67 MB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/MultipleShooting 4.69 M allocs: 0.255 GB 4.69 M allocs: 0.255 GB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/SingleShooting 0.126 M allocs: 7.8 MB 0.126 M allocs: 7.8 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting 0.433 M allocs: 23.5 MB 0.433 M allocs: 23.5 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting (Hessian) 1.04 M allocs: 0.087 GB 1.04 M allocs: 0.087 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/SingleShooting 0.353 M allocs: 16.7 MB 0.353 M allocs: 16.7 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation 1.01 M allocs: 0.0714 GB 1.01 M allocs: 0.0714 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation (Hessian) 1.01 M allocs: 0.0714 GB 1.01 M allocs: 0.0714 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting 0.315 M allocs: 16.8 MB 0.315 M allocs: 16.8 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting (Hessian) 0.737 M allocs: 0.0641 GB 0.737 M allocs: 0.0641 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/OrthogonalCollocation 1.33 M allocs: 0.115 GB 1.33 M allocs: 0.115 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/OrthogonalCollocation (Hessian) 1.33 M allocs: 0.115 GB 1.33 M allocs: 0.115 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting 0.0951 M allocs: 3.9 MB 0.0951 M allocs: 3.9 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting (Hessian) 0.0772 M allocs: 4.85 MB 0.0772 M allocs: 4.85 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation 0.313 M allocs: 16.7 MB 0.313 M allocs: 16.7 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation (Hessian) 0.753 M allocs: 0.0558 GB 0.753 M allocs: 0.0558 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/MadNLP/SingleShooting (Hessian) 0.114 M allocs: 11 MB 0.114 M allocs: 11 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Uno/MultipleShooting (Hessian) 0.308 M allocs: 25.7 MB 0.308 M allocs: 25.7 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting 0.276 M allocs: 14.6 MB 0.276 M allocs: 14.6 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (Hessian) 0.705 M allocs: 0.0543 GB 0.705 M allocs: 0.0543 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (threaded) 0.295 M allocs: 23.3 MB 0.295 M allocs: 23.5 MB 0.993
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/OrthogonalCollocation 1.42 M allocs: 0.124 GB 1.42 M allocs: 0.124 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/OrthogonalCollocation (Hessian) 5.12 M allocs: 0.555 GB 5.12 M allocs: 0.555 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting 0.0741 M allocs: 3 MB 0.0741 M allocs: 3 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting (Hessian) 0.0768 M allocs: 4.81 MB 0.0768 M allocs: 4.81 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation 0.275 M allocs: 14.5 MB 0.275 M allocs: 14.5 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (Hessian) 0.716 M allocs: 0.0456 GB 0.716 M allocs: 0.0456 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (threaded) 0.294 M allocs: 23.4 MB 0.294 M allocs: 23.6 MB 0.993
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/MultipleShooting (Hessian) 0.596 M allocs: 0.0588 GB 0.596 M allocs: 0.0588 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/SingleShooting (Hessian) 0.114 M allocs: 11 MB 0.114 M allocs: 11 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Uno/MultipleShooting (Hessian) 0.304 M allocs: 22.6 MB 0.304 M allocs: 22.6 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Uno/OrthogonalCollocation (Hessian) 2.12 M allocs: 0.225 GB 2.12 M allocs: 0.225 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Current form 0.768 M allocs: 0.0804 GB 0.767 M allocs: 0.0804 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Prediction form 0.687 M allocs: 0.0587 GB 0.687 M allocs: 0.0586 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Current form 0.646 M allocs: 0.0785 GB 0.646 M allocs: 0.0784 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Prediction form 0.601 M allocs: 0.0562 GB 0.6 M allocs: 0.0562 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Current form 0.63 M allocs: 0.0764 GB 0.629 M allocs: 0.0764 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Prediction form 0.585 M allocs: 0.0553 GB 0.584 M allocs: 0.0553 GB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form 0.0649 M allocs: 11.5 MB 0.0647 M allocs: 11.6 MB 0.988
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form (Hessian) 0.0639 M allocs: 11.3 MB 0.0637 M allocs: 11.4 MB 0.988
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form 0.0485 M allocs: 8.05 MB 0.0483 M allocs: 8.15 MB 0.988
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form (Hessian) 0.0642 M allocs: 11.3 MB 0.064 M allocs: 11.4 MB 0.988
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Current form (Hessian) 0.0986 M allocs: 15.5 MB 0.0984 M allocs: 15.7 MB 0.991
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Prediction form (Hessian) 0.0929 M allocs: 14.5 MB 0.0927 M allocs: 14.7 MB 0.991
UNIT TESTS/PredictiveController/ExplicitMPC/moveinput! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/PredictiveController/LinMPC/getinfo! 0.327 k allocs: 15.8 kB 0.327 k allocs: 15.8 kB 1
UNIT TESTS/PredictiveController/LinMPC/moveinput!/MultipleShooting 0.994 k allocs: 25.5 kB 0.994 k allocs: 25.5 kB 1
UNIT TESTS/PredictiveController/LinMPC/moveinput!/SingleShooting 0.088 k allocs: 2.23 kB 0.088 k allocs: 2.23 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/LinModel 0.574 k allocs: 0.0632 MB 0.574 k allocs: 0.0632 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/NonLinModel 0.614 k allocs: 0.0784 MB 0.614 k allocs: 0.0785 MB 0.998
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/MultipleShooting 1.95 k allocs: 0.0809 MB 1.95 k allocs: 0.0809 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/SingleShooting 0.298 k allocs: 10.1 kB 0.298 k allocs: 10.1 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShooting 2.28 k allocs: 0.102 MB 2.28 k allocs: 0.102 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShootingHessian 2.87 k allocs: 0.138 MB 2.87 k allocs: 0.138 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/OrthogonalCollocation 3.77 k allocs: 0.191 MB 3.77 k allocs: 0.191 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/OrthogonalCollocationHessian 7.58 k allocs: 0.531 MB 7.58 k allocs: 0.531 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShooting 0.321 k allocs: 11.2 kB 0.321 k allocs: 11.2 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShootingHessian 0.321 k allocs: 11.2 kB 0.321 k allocs: 11.2 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/TrapezoidalCollocation 1.43 k allocs: 0.0591 MB 1.43 k allocs: 0.0591 MB 1
UNIT TESTS/SimModel/LinModel/evaloutput 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/SimModel/LinModel/updatestate! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/SimModel/NonLinModel/evaloutput 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/SimModel/NonLinModel/linearize! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/SimModel/NonLinModel/updatestate! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/LinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/NonLinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/LinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/NonLinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/LinModel 4 allocs: 0.0938 kB 4 allocs: 0.0938 kB 1
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/NonLinModel 4 allocs: 0.0938 kB 4 allocs: 0.0938 kB 1
UNIT TESTS/StateEstimator/InternalModel/evaloutput/LinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/InternalModel/evaloutput/NonLinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/InternalModel/preparestate!/LinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/InternalModel/preparestate!/NonLinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/InternalModel/updatestate!/LinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/InternalModel/updatestate!/NonLinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/KalmanFilter/evaloutput 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/KalmanFilter/preparestate! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/KalmanFilter/updatestate! 4 allocs: 0.0938 kB 4 allocs: 0.0938 kB 1
UNIT TESTS/StateEstimator/Luenberger/evaloutput 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/Luenberger/preparestate! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/Luenberger/updatestate! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/MovingHorizonEstimator/getinfo!/LinModel 1.03 k allocs: 0.0393 MB 1.03 k allocs: 0.0393 MB 1
UNIT TESTS/StateEstimator/MovingHorizonEstimator/getinfo!/NonLinModel 1.2 k allocs: 0.121 MB 1.2 k allocs: 0.121 MB 0.999
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Current form 0.0754 M allocs: 14.6 MB 0.0754 M allocs: 14.6 MB 1
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Prediction form 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Current form 0.972 k allocs: 25.4 kB 0.966 k allocs: 24 kB 1.06
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Prediction form 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Current form 2 allocs: 0.0469 kB 2 allocs: 0.0469 kB 1
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Prediction form 7.05 k allocs: 0.443 MB 7.04 k allocs: 0.443 MB 1
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Current form 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Prediction form 0.972 k allocs: 25.4 kB 0.966 k allocs: 24 kB 1.06
UNIT TESTS/StateEstimator/SteadyKalmanFilter/evaloutput 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/SteadyKalmanFilter/preparestate! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/SteadyKalmanFilter/updatestate! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/LinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/NonLinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/LinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/NonLinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/LinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/NonLinModel 0 allocs: 0 B 0 allocs: 0 B
time_to_load 0.149 k allocs: 11.2 kB 0.149 k allocs: 11.2 kB 1

@franckgaga franckgaga merged commit 03b5a44 into main Apr 16, 2026
5 checks passed
@franckgaga franckgaga deleted the mhe_allocs branch April 16, 2026 00:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants