Skip to content

Conversation

@franckgaga
Copy link
Member

@franckgaga franckgaga commented Dec 2, 2025

It probably does not save much computation and this is a source of future bug (since i'm filling g in-place). I shot myself in the foot multiple time because of this small "performance optimization".
Let's benchmark this change in a separate PR.

It probably does not save much computation and this is a source of bug (since i'm filling `g` in-place)
Let's benchmark this change in a separate PR
@codecov-commenter
Copy link

codecov-commenter commented Dec 2, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.51%. Comparing base (2730e8b) to head (364ec93).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #291   +/-   ##
=======================================
  Coverage   98.50%   98.51%           
=======================================
  Files          28       28           
  Lines        4831     4833    +2     
=======================================
+ Hits         4759     4761    +2     
  Misses         72       72           

☔ 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

github-actions bot commented Dec 3, 2025

Benchmark Results (Julia v1)

Time benchmarks
main 364ec93... main / 364ec93...
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/DAQP/SingleShooting 5.36 ± 0.46 ms 5.37 ± 0.5 ms 0.999 ± 0.13
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/MultipleShooting 0.313 ± 0.0049 s 0.315 ± 0.0061 s 0.992 ± 0.025
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/SingleShooting 0.225 ± 0.0051 s 0.226 ± 0.0085 s 0.995 ± 0.044
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/MultipleShooting 9 ± 0.52 ms 9.95 ± 0.54 ms 0.905 ± 0.072
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/SingleShooting 1.69 ± 0.061 ms 1.81 ± 0.069 ms 0.934 ± 0.049
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/DAQP/SingleShooting 5.29 ± 0.49 ms 5.36 ± 0.49 ms 0.986 ± 0.13
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/MultipleShooting 0.276 ± 0.0046 s 0.272 ± 0.0035 s 1.02 ± 0.021
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/SingleShooting 0.239 ± 0.0014 s 0.229 ± 0.0022 s 1.04 ± 0.012
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/MultipleShooting 6.46 ± 0.36 ms 6.83 ± 0.33 ms 0.946 ± 0.07
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/SingleShooting 1.81 ± 0.053 ms 1.89 ± 0.077 ms 0.955 ± 0.048
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/DAQP/SingleShooting 9.4 ± 1.4 ms 9.46 ± 1.4 ms 0.994 ± 0.21
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/MultipleShooting 0.309 ± 0.049 s 0.312 ± 0.053 s 0.99 ± 0.23
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/SingleShooting 0.157 ± 0.0024 s 0.157 ± 0.0026 s 1 ± 0.023
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/MultipleShooting 0.108 ± 0.017 s 0.11 ± 0.018 s 0.982 ± 0.22
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/SingleShooting 12.4 ± 1.5 ms 12.5 ± 1.5 ms 0.99 ± 0.17
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting 0.694 ± 0.039 s 0.691 ± 0.032 s 1 ± 0.073
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting (Hessian) 0.677 ± 0.0075 s 0.691 ± 0.0068 s 0.98 ± 0.014
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/SingleShooting 1.72 ± 0.096 s 1.74 ± 0.091 s 0.994 ± 0.076
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation 0.515 ± 0.039 s 0.526 ± 0.042 s 0.978 ± 0.11
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation (Hessian) 0.513 ± 0.039 s 0.524 ± 0.048 s 0.981 ± 0.12
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting 0.355 ± 0.0063 s 0.353 ± 0.0059 s 1 ± 0.025
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting (Hessian) 0.419 ± 0.036 s 0.411 ± 0.032 s 1.02 ± 0.12
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting 0.489 ± 0.0036 s 0.492 ± 0.011 s 0.995 ± 0.024
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting (Hessian) 0.167 ± 0.0033 s 0.166 ± 0.0052 s 1 ± 0.037
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation 0.33 ± 0.0089 s 0.327 ± 0.0066 s 1.01 ± 0.034
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation (Hessian) 0.461 ± 0.011 s 0.454 ± 0.0081 s 1.01 ± 0.03
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/MadNLP/SingleShooting 0.143 ± 0.0022 s 0.142 ± 0.0024 s 1.01 ± 0.023
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting 0.339 ± 0.011 s 0.342 ± 0.009 s 0.993 ± 0.04
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (Hessian) 0.424 ± 0.025 s 0.421 ± 0.023 s 1.01 ± 0.081
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (threaded) 0.369 ± 0.018 s 0.364 ± 0.013 s 1.01 ± 0.061
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting 0.486 ± 0.0094 s 0.491 ± 0.0091 s 0.988 ± 0.026
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting (Hessian) 0.167 ± 0.0079 s 0.168 ± 0.0069 s 0.996 ± 0.062
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation 0.321 ± 0.0068 s 0.323 ± 0.0063 s 0.995 ± 0.029
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (Hessian) 0.303 ± 0.036 s 0.292 ± 0.033 s 1.04 ± 0.17
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (threaded) 0.364 ± 0.027 s 0.35 ± 0.012 s 1.04 ± 0.085
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/SingleShooting 0.13 ± 0.0023 s 0.128 ± 0.002 s 1.02 ± 0.024
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Uno/MultipleShooting (Hessian) 0.214 ± 0.02 s 0.207 ± 0.017 s 1.03 ± 0.13
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Current form 0.0397 ± 0.0031 s 0.0411 ± 0.00085 s 0.965 ± 0.078
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Prediction form 0.032 ± 0.0067 s 0.0335 ± 0.0085 s 0.956 ± 0.31
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Current form 0.176 ± 0.04 s 0.188 ± 0.037 s 0.934 ± 0.28
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Prediction form 0.16 ± 0.026 s 0.155 ± 0.029 s 1.03 ± 0.25
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Current form 0.0327 ± 0.0042 s 0.0343 ± 0.0037 s 0.952 ± 0.16
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Prediction form 26.3 ± 4.7 ms 27.3 ± 5.4 ms 0.966 ± 0.26
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form 0.0816 ± 0.0029 s 0.0844 ± 0.0029 s 0.967 ± 0.047
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form (Hessian) 0.078 ± 0.0011 s 0.0812 ± 0.0028 s 0.961 ± 0.036
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form 0.0634 ± 0.002 s 0.0682 ± 0.0026 s 0.93 ± 0.047
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form (Hessian) 0.0823 ± 0.0032 s 0.0896 ± 0.0047 s 0.918 ± 0.06
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Current form 2.56 ± 0.012 s 2.46 ± 0.013 s 1.04 ± 0.0074
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Prediction form 1.51 ± 0.0074 s 1.44 ± 0.0055 s 1.05 ± 0.0065
UNIT TESTS/PredictiveController/ExplicitMPC/moveinput! 4.26 ± 0.02 μs 4.02 ± 0.021 μs 1.06 ± 0.0074
UNIT TESTS/PredictiveController/LinMPC/getinfo! 0.109 ± 0.0025 ms 0.11 ± 0.0024 ms 0.983 ± 0.031
UNIT TESTS/PredictiveController/LinMPC/moveinput!/MultipleShooting 0.104 ± 0.0065 ms 0.105 ± 0.0066 ms 0.993 ± 0.088
UNIT TESTS/PredictiveController/LinMPC/moveinput!/SingleShooting 15 ± 0.3 μs 15.1 ± 0.31 μs 0.994 ± 0.029
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/LinModel 0.142 ± 0.0076 ms 0.144 ± 0.0072 ms 0.988 ± 0.072
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/NonLinModel 0.149 ± 0.0063 ms 0.151 ± 0.0069 ms 0.985 ± 0.061
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/MultipleShooting 2.5 ± 0.13 ms 2.52 ± 0.11 ms 0.994 ± 0.067
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/SingleShooting 1.69 ± 0.031 ms 1.72 ± 0.067 ms 0.982 ± 0.042
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShooting 3.04 ± 0.11 ms 3.06 ± 0.11 ms 0.993 ± 0.052
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShootingHessian 3.02 ± 0.086 ms 3.04 ± 0.087 ms 0.995 ± 0.04
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShooting 1.89 ± 0.069 ms 1.89 ± 0.19 ms 0.999 ± 0.11
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShootingHessian 1.78 ± 0.084 ms 1.77 ± 0.093 ms 1.01 ± 0.071
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/TrapezoidalCollocation 2.16 ± 0.087 ms 2.17 ± 0.062 ms 0.994 ± 0.049
UNIT TESTS/SimModel/LinModel/evaloutput 0.14 ± 0.001 μs 0.14 ± 0 μs 1 ± 0.0071
UNIT TESTS/SimModel/LinModel/updatestate! 0.21 ± 0.01 μs 0.21 ± 0.001 μs 1 ± 0.048
UNIT TESTS/SimModel/NonLinModel/evaloutput 0.431 ± 0.01 μs 0.421 ± 0.001 μs 1.02 ± 0.024
UNIT TESTS/SimModel/NonLinModel/linearize! 2.05 ± 0.02 μs 2.09 ± 0.03 μs 0.981 ± 0.017
UNIT TESTS/SimModel/NonLinModel/updatestate! 0.491 ± 0.002 μs 0.491 ± 0.01 μs 1 ± 0.021
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/LinModel 0.551 ± 0.01 μs 0.561 ± 0.01 μs 0.982 ± 0.025
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/NonLinModel 1.82 ± 0.02 μs 1.81 ± 0.02 μs 1.01 ± 0.016
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/LinModel 0.27 ± 0.01 μs 0.27 ± 0.001 μs 1 ± 0.037
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/NonLinModel 1.43 ± 0.001 μs 1.42 ± 0.001 μs 1.01 ± 0.001
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/LinModel 3.99 ± 0.051 μs 3.94 ± 0.05 μs 1.01 ± 0.018
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/NonLinModel 9.08 ± 0.09 μs 9 ± 0.16 μs 1.01 ± 0.021
UNIT TESTS/StateEstimator/InternalModel/evaloutput/LinModel 0.24 ± 0.001 μs 0.24 ± 0.01 μs 1 ± 0.042
UNIT TESTS/StateEstimator/InternalModel/evaloutput/NonLinModel 0.571 ± 0 μs 0.581 ± 0.01 μs 0.983 ± 0.017
UNIT TESTS/StateEstimator/InternalModel/preparestate!/LinModel 0.291 ± 0.011 μs 0.291 ± 0.011 μs 1 ± 0.053
UNIT TESTS/StateEstimator/InternalModel/preparestate!/NonLinModel 0.732 ± 0.01 μs 0.741 ± 0.011 μs 0.988 ± 0.02
UNIT TESTS/StateEstimator/InternalModel/updatestate!/LinModel 0.411 ± 0.001 μs 0.42 ± 0.01 μs 0.979 ± 0.023
UNIT TESTS/StateEstimator/InternalModel/updatestate!/NonLinModel 0.932 ± 0.01 μs 0.931 ± 0.01 μs 1 ± 0.015
UNIT TESTS/StateEstimator/KalmanFilter/evaloutput 0.28 ± 0.001 μs 0.271 ± 0.001 μs 1.03 ± 0.0053
UNIT TESTS/StateEstimator/KalmanFilter/preparestate! 0.15 ± 0.01 μs 0.13 ± 0.01 μs 1.15 ± 0.12
UNIT TESTS/StateEstimator/KalmanFilter/updatestate! 2.52 ± 0.04 μs 2.54 ± 0.03 μs 0.993 ± 0.02
UNIT TESTS/StateEstimator/Luenberger/evaloutput 0.241 ± 0.01 μs 0.24 ± 0.01 μs 1 ± 0.059
UNIT TESTS/StateEstimator/Luenberger/preparestate! 0.26 ± 0.01 μs 0.251 ± 0.01 μs 1.04 ± 0.057
UNIT TESTS/StateEstimator/Luenberger/updatestate! 0.351 ± 0.001 μs 0.341 ± 0.01 μs 1.03 ± 0.03
UNIT TESTS/StateEstimator/MovingHorizonEstimator/getinfo!/LinModel 0.176 ± 0.011 ms 0.18 ± 0.014 ms 0.981 ± 0.098
UNIT TESTS/StateEstimator/MovingHorizonEstimator/getinfo!/NonLinModel 0.184 ± 0.017 ms 0.186 ± 0.015 ms 0.987 ± 0.12
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Current form 3.55 ± 0.21 ms 3.64 ± 0.19 ms 0.977 ± 0.078
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Prediction form 0.49 ± 0.01 μs 0.481 ± 0.01 μs 1.02 ± 0.03
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Current form 0.314 ± 0.019 ms 0.33 ± 0.018 ms 0.951 ± 0.078
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Prediction form 1.32 ± 0.001 μs 1.33 ± 0.01 μs 0.992 ± 0.0075
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Current form 7.77 ± 2.8 μs 7.11 ± 2.5 μs 1.09 ± 0.55
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Prediction form 3.08 ± 0.19 ms 3.16 ± 0.17 ms 0.977 ± 0.079
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Current form 16.9 ± 0.37 μs 17.1 ± 0.45 μs 0.985 ± 0.034
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Prediction form 0.325 ± 0.019 ms 0.346 ± 0.019 ms 0.938 ± 0.075
UNIT TESTS/StateEstimator/SteadyKalmanFilter/evaloutput 0.271 ± 0.001 μs 0.27 ± 0.01 μs 1 ± 0.037
UNIT TESTS/StateEstimator/SteadyKalmanFilter/preparestate! 0.281 ± 0.001 μs 0.28 ± 0.01 μs 1 ± 0.036
UNIT TESTS/StateEstimator/SteadyKalmanFilter/updatestate! 0.401 ± 0.01 μs 0.38 ± 0.01 μs 1.06 ± 0.038
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/LinModel 0.301 ± 0.001 μs 0.301 ± 0.001 μs 1 ± 0.0047
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/NonLinModel 0.921 ± 0.01 μs 0.931 ± 0.01 μs 0.989 ± 0.015
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/LinModel 3.87 ± 0.03 μs 3.68 ± 0.03 μs 1.05 ± 0.012
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/NonLinModel 4.99 ± 0.03 μs 4.86 ± 0.08 μs 1.03 ± 0.018
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/LinModel 3.57 ± 0.029 μs 3.59 ± 0.04 μs 0.995 ± 0.014
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/NonLinModel 6.41 ± 0.11 μs 6.32 ± 0.05 μs 1.01 ± 0.019
time_to_load 3.5 ± 0.066 s 3.51 ± 0.0063 s 0.998 ± 0.019
Memory benchmarks
main 364ec93... main / 364ec93...
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/DAQP/SingleShooting 0.0424 M allocs: 1.7 MB 0.0424 M allocs: 1.7 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.85 k allocs: 0.249 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/DAQP/SingleShooting 0.0422 M allocs: 1.7 MB 0.0422 M allocs: 1.7 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.0532 M allocs: 1.39 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/SingleShooting 7.7 k allocs: 0.243 MB 7.7 k allocs: 0.243 MB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/DAQP/SingleShooting 0.107 M allocs: 5.92 MB 0.107 M allocs: 5.92 MB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/MultipleShooting 4.65 M allocs: 0.25 GB 4.65 M allocs: 0.25 GB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/SingleShooting 0.108 M allocs: 6.34 MB 0.108 M allocs: 6.34 MB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/MultipleShooting 4.68 M allocs: 0.254 GB 4.68 M allocs: 0.254 GB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/SingleShooting 0.119 M allocs: 7.46 MB 0.119 M allocs: 7.46 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting 0.351 M allocs: 19.7 MB 0.351 M allocs: 19.7 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting (Hessian) 0.862 M allocs: 0.0789 GB 0.862 M allocs: 0.0789 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.18 M allocs: 0.0789 GB 1.18 M allocs: 0.0789 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation (Hessian) 1.18 M allocs: 0.0789 GB 1.18 M allocs: 0.0789 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting 0.267 M allocs: 14.7 MB 0.267 M allocs: 14.7 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting (Hessian) 0.552 M allocs: 0.0505 GB 0.552 M allocs: 0.0505 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.95 MB 0.0772 M allocs: 4.95 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation 0.376 M allocs: 19.7 MB 0.376 M allocs: 19.7 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation (Hessian) 1.18 M allocs: 0.0881 GB 1.18 M allocs: 0.0881 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/MadNLP/SingleShooting 0.297 M allocs: 0.0649 GB 0.297 M allocs: 0.0649 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting 0.226 M allocs: 12.2 MB 0.226 M allocs: 12.2 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (Hessian) 0.647 M allocs: 0.0541 GB 0.647 M allocs: 0.0541 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (threaded) 0.244 M allocs: 20.1 MB 0.244 M allocs: 20.1 MB 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.91 MB 0.0768 M allocs: 4.91 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation 0.317 M allocs: 16.4 MB 0.317 M allocs: 16.4 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (Hessian) 0.879 M allocs: 0.0547 GB 0.879 M allocs: 0.0547 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (threaded) 0.335 M allocs: 24.4 MB 0.335 M allocs: 24.4 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/SingleShooting 0.255 M allocs: 0.056 GB 0.255 M allocs: 0.056 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Uno/MultipleShooting (Hessian) 1.4 M allocs: 0.0864 GB 1.4 M allocs: 0.0864 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Current form 0.762 M allocs: 0.0802 GB 0.762 M allocs: 0.0802 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Prediction form 0.682 M allocs: 0.0585 GB 0.682 M allocs: 0.0585 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Current form 0.646 M allocs: 0.0785 GB 0.647 M allocs: 0.0813 GB 0.966
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Prediction form 0.601 M allocs: 0.0562 GB 0.601 M allocs: 0.0562 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Current form 0.63 M allocs: 0.0764 GB 0.63 M allocs: 0.0764 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Prediction form 0.585 M allocs: 0.0553 GB 0.585 M allocs: 0.0553 GB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form 0.0649 M allocs: 11.5 MB 0.0649 M allocs: 11.5 MB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form (Hessian) 0.0639 M allocs: 11.3 MB 0.0639 M allocs: 11.3 MB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form 0.0485 M allocs: 8.05 MB 0.0485 M allocs: 8.05 MB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form (Hessian) 0.0642 M allocs: 11.3 MB 0.0642 M allocs: 11.3 MB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Current form 15.2 M allocs: 2.8 GB 15.2 M allocs: 2.8 GB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Prediction form 8.88 M allocs: 1.63 GB 8.88 M allocs: 1.63 GB 1
UNIT TESTS/PredictiveController/ExplicitMPC/moveinput! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/PredictiveController/LinMPC/getinfo! 0.322 k allocs: 15.6 kB 0.322 k allocs: 15.6 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.406 k allocs: 18.2 kB 0.406 k allocs: 18.2 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/NonLinModel 0.406 k allocs: 18.2 kB 0.406 k allocs: 18.2 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/MultipleShooting 2.4 k allocs: 0.107 MB 2.4 k allocs: 0.107 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/SingleShooting 0.37 k allocs: 13.1 kB 0.37 k allocs: 13.1 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShooting 2.64 k allocs: 0.126 MB 2.64 k allocs: 0.126 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShootingHessian 3.15 k allocs: 0.158 MB 3.15 k allocs: 0.158 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShooting 0.404 k allocs: 14.7 kB 0.404 k allocs: 14.7 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShootingHessian 0.404 k allocs: 14.7 kB 0.404 k allocs: 14.7 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/TrapezoidalCollocation 2.01 k allocs: 0.0858 MB 2.01 k allocs: 0.0858 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.1 k allocs: 0.041 MB 1.1 k allocs: 0.041 MB 1
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Current form 0.0754 M allocs: 14.6 MB 0.0754 M allocs: 14.6 MB 0.998
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.972 k allocs: 25.4 kB 1
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.05 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.972 k allocs: 25.4 kB 1
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
Copy link
Member Author

There is small visible impact on the MHE pendulum case study, which is the only case study that really tests nonlinear inequality constraints. Let's not merge this PR, it seems that it DOES help the performances.

@franckgaga franckgaga closed this Dec 3, 2025
@franckgaga franckgaga deleted the no_i_g_checkup branch December 3, 2025 01:28
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.

3 participants