Skip to content

Conversation

@franckgaga
Copy link
Member

@franckgaga franckgaga commented Nov 7, 2025

The new default sparse backend for the jacobians and hessian is:

AutoSparse(
    AutoForwardDiff(); 
    sparsity_detector  = TracerSparsityDetector(), 
    coloring_algorithm = GreedyColoringAlgorithm(ALL_COLORING_ORDERS)
)

with:

const ALL_COLORING_ORDERS = (
    NaturalOrder(),
    LargestFirst(),
    SmallestLast(),
    IncidenceDegree(),
    DynamicLargestFirst(),
)

so it will test all coring orders and keep the best (the lowest number of colors). Note that the cost is only paid at preparation, so it's just a better default overall. I purposeful left out RandomOrder from the defaults, since I feel that the non-deterministic behavior could lead to weird performance bugs, plus it would require the additional StableRNGs dependency, as recommended in SparseMatrixColoring documentation.

I do not consider this as a breaking change since this is just a performance tune-up in the end.

@franckgaga franckgaga changed the title changed: better jacobian and hessian defaults for the sparse case in NonLinMPC and `MovingHorizonEstimator changed: better jacobian and hessian defaults for the sparse case in NonLinMPC and MovingHorizonEstimator Nov 7, 2025
@franckgaga franckgaga linked an issue Nov 7, 2025 that may be closed by this pull request
@codecov-commenter
Copy link

codecov-commenter commented Nov 7, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.50%. Comparing base (d24318f) to head (c0f1d02).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #283   +/-   ##
=======================================
  Coverage   98.50%   98.50%           
=======================================
  Files          28       28           
  Lines        4831     4831           
=======================================
  Hits         4759     4759           
  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 Nov 8, 2025

Benchmark Results (Julia v1)

Time benchmarks
main c0f1d02... main / c0f1d02...
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/DAQP/SingleShooting 5.38 ± 0.51 ms 5.43 ± 0.53 ms 0.99 ± 0.14
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/MultipleShooting 0.315 ± 0.0072 s 0.313 ± 0.0041 s 1.01 ± 0.026
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/SingleShooting 0.226 ± 0.012 s 0.226 ± 0.0072 s 0.999 ± 0.063
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/MultipleShooting 9.45 ± 0.51 ms 9.31 ± 0.56 ms 1.01 ± 0.082
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/SingleShooting 1.75 ± 0.064 ms 1.78 ± 0.069 ms 0.985 ± 0.052
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/DAQP/SingleShooting 5.34 ± 0.52 ms 5.36 ± 0.49 ms 0.997 ± 0.13
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/MultipleShooting 0.277 ± 0.0083 s 0.277 ± 0.002 s 1 ± 0.031
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/SingleShooting 0.236 ± 0.0061 s 0.24 ± 0.0029 s 0.985 ± 0.028
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/MultipleShooting 6.63 ± 0.4 ms 6.42 ± 0.36 ms 1.03 ± 0.084
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/SingleShooting 1.89 ± 0.047 ms 1.85 ± 0.072 ms 1.03 ± 0.047
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/DAQP/SingleShooting 9.72 ± 1.4 ms 9.52 ± 1.5 ms 1.02 ± 0.22
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/MultipleShooting 0.325 ± 0.05 s 0.314 ± 0.05 s 1.04 ± 0.23
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/SingleShooting 0.16 ± 0.0059 s 0.156 ± 0.0028 s 1.02 ± 0.042
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/MultipleShooting 0.112 ± 0.016 s 0.11 ± 0.017 s 1.02 ± 0.22
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/SingleShooting 12.2 ± 1.3 ms 12.4 ± 1.4 ms 0.978 ± 0.15
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting 0.701 ± 0.045 s 0.704 ± 0.037 s 0.995 ± 0.082
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting (Hessian) 1.45 ± 0.026 s 0.747 ± 0.026 s 1.94 ± 0.076
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/SingleShooting 1.78 ± 0.17 s 1.78 ± 0.15 s 1 ± 0.13
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation 0.987 ± 0.019 s 0.587 ± 0.0081 s 1.68 ± 0.04
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation (Hessian) 0.982 ± 0.015 s 0.591 ± 0.019 s 1.66 ± 0.06
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting 0.361 ± 0.0089 s 0.359 ± 0.014 s 1.01 ± 0.048
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting 0.496 ± 0.006 s 0.493 ± 0.012 s 1 ± 0.027
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation 0.332 ± 0.012 s 0.332 ± 0.012 s 1 ± 0.05
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/MadNLP/SingleShooting 0.149 ± 0.0049 s 0.145 ± 0.0016 s 1.03 ± 0.036
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting 0.351 ± 0.0069 s 0.342 ± 0.0044 s 1.02 ± 0.024
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (Hessian) 0.453 ± 0.016 s 0.455 ± 0.0049 s 0.994 ± 0.037
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (threaded) 0.374 ± 0.017 s 0.369 ± 0.014 s 1.01 ± 0.059
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting 0.502 ± 0.015 s 0.492 ± 0.0081 s 1.02 ± 0.035
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting (Hessian) 0.168 ± 0.0092 s 0.167 ± 0.0092 s 1 ± 0.078
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation 0.331 ± 0.011 s 0.328 ± 0.013 s 1.01 ± 0.052
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (Hessian) 0.368 ± 0.0044 s 0.373 ± 0.003 s 0.986 ± 0.014
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (threaded) 0.36 ± 0.031 s 0.357 ± 0.031 s 1.01 ± 0.12
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/SingleShooting 0.13 ± 0.0049 s 0.125 ± 0.0017 s 1.04 ± 0.042
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Uno/MultipleShooting (Hessian) 0.197 ± 0.02 s 0.193 ± 0.021 s 1.02 ± 0.15
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Current form 0.0415 ± 0.0021 s 0.0402 ± 0.00079 s 1.03 ± 0.055
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Prediction form 0.0357 ± 0.01 s 0.0341 ± 0.0082 s 1.05 ± 0.39
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Current form 0.19 ± 0.042 s 0.174 ± 0.031 s 1.09 ± 0.31
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Prediction form 0.163 ± 0.023 s 0.166 ± 0.023 s 0.984 ± 0.19
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Current form 0.036 ± 0.0048 s 0.0337 ± 0.0043 s 1.07 ± 0.2
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Prediction form 28.1 ± 1.4 ms 27.9 ± 6 ms 1.01 ± 0.22
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form 0.0812 ± 0.0021 s 0.0781 ± 0.00077 s 1.04 ± 0.029
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form (Hessian) 0.0795 ± 0.002 s 0.0763 ± 0.00071 s 1.04 ± 0.027
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form 0.0642 ± 0.0017 s 0.0607 ± 0.0011 s 1.06 ± 0.033
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form (Hessian) 0.0842 ± 0.002 s 0.0791 ± 0.0028 s 1.06 ± 0.045
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Current form 2.52 ± 0.04 s 2.43 ± 0.021 s 1.03 ± 0.019
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Prediction form 1.5 ± 0.027 s 1.45 ± 0.015 s 1.04 ± 0.021
UNIT TESTS/PredictiveController/ExplicitMPC/moveinput! 3.81 ± 0.03 μs 4.29 ± 0.04 μs 0.888 ± 0.011
UNIT TESTS/PredictiveController/LinMPC/moveinput!/MultipleShooting 0.105 ± 0.007 ms 0.11 ± 0.0071 ms 0.96 ± 0.089
UNIT TESTS/PredictiveController/LinMPC/moveinput!/SingleShooting 14.9 ± 0.4 μs 15.1 ± 0.34 μs 0.984 ± 0.035
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/MultipleShooting 2.6 ± 0.14 ms 2.6 ± 0.13 ms 1 ± 0.075
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/SingleShooting 1.87 ± 0.21 ms 1.89 ± 0.19 ms 0.989 ± 0.15
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShooting 3.12 ± 0.19 ms 3.13 ± 0.2 ms 0.997 ± 0.089
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShootingHessian 3.1 ± 0.19 ms 3.17 ± 0.23 ms 0.978 ± 0.094
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShooting 1.77 ± 0.1 ms 1.78 ± 0.1 ms 0.993 ± 0.081
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShootingHessian 1.74 ± 0.035 ms 1.76 ± 0.041 ms 0.993 ± 0.03
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/TrapezoidalCollocation 2.19 ± 0.065 ms 2.18 ± 0.08 ms 1 ± 0.048
UNIT TESTS/SimModel/LinModel/evaloutput 0.141 ± 0.01 μs 0.141 ± 0.01 μs 1 ± 0.1
UNIT TESTS/SimModel/LinModel/updatestate! 0.23 ± 0.01 μs 0.21 ± 0.01 μs 1.1 ± 0.071
UNIT TESTS/SimModel/NonLinModel/evaloutput 0.421 ± 0.01 μs 0.421 ± 0.009 μs 1 ± 0.032
UNIT TESTS/SimModel/NonLinModel/linearize! 2.12 ± 0.01 μs 2.03 ± 0.01 μs 1.04 ± 0.0071
UNIT TESTS/SimModel/NonLinModel/updatestate! 0.491 ± 0.001 μs 0.481 ± 0.01 μs 1.02 ± 0.021
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/LinModel 0.551 ± 0.01 μs 0.541 ± 0.01 μs 1.02 ± 0.026
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/NonLinModel 1.79 ± 0.011 μs 1.8 ± 0.02 μs 0.994 ± 0.013
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/LinModel 0.27 ± 0.001 μs 0.271 ± 0.001 μs 0.996 ± 0.0052
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/NonLinModel 1.43 ± 0.01 μs 1.4 ± 0.01 μs 1.02 ± 0.01
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/LinModel 4.11 ± 0.081 μs 4.18 ± 0.08 μs 0.983 ± 0.027
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/NonLinModel 8.93 ± 0.09 μs 9.1 ± 0.12 μs 0.981 ± 0.016
UNIT TESTS/StateEstimator/InternalModel/evaloutput/LinModel 0.24 ± 0.001 μs 0.24 ± 0.001 μs 1 ± 0.0059
UNIT TESTS/StateEstimator/InternalModel/evaloutput/NonLinModel 0.571 ± 0.001 μs 0.581 ± 0.01 μs 0.983 ± 0.017
UNIT TESTS/StateEstimator/InternalModel/preparestate!/LinModel 0.29 ± 0.01 μs 0.29 ± 0.01 μs 1 ± 0.049
UNIT TESTS/StateEstimator/InternalModel/preparestate!/NonLinModel 0.751 ± 0.001 μs 0.731 ± 0.001 μs 1.03 ± 0.002
UNIT TESTS/StateEstimator/InternalModel/updatestate!/LinModel 0.401 ± 0.01 μs 0.411 ± 0.01 μs 0.976 ± 0.034
UNIT TESTS/StateEstimator/InternalModel/updatestate!/NonLinModel 0.982 ± 0.011 μs 0.912 ± 0.01 μs 1.08 ± 0.017
UNIT TESTS/StateEstimator/KalmanFilter/evaloutput 0.261 ± 0.01 μs 0.27 ± 0.01 μs 0.967 ± 0.052
UNIT TESTS/StateEstimator/KalmanFilter/preparestate! 0.131 ± 0.01 μs 0.14 ± 0.01 μs 0.936 ± 0.098
UNIT TESTS/StateEstimator/KalmanFilter/updatestate! 2.52 ± 0.03 μs 2.5 ± 0.031 μs 1.01 ± 0.017
UNIT TESTS/StateEstimator/Luenberger/evaloutput 0.25 ± 0.01 μs 0.241 ± 0.001 μs 1.04 ± 0.042
UNIT TESTS/StateEstimator/Luenberger/preparestate! 0.261 ± 0.001 μs 0.251 ± 0.01 μs 1.04 ± 0.042
UNIT TESTS/StateEstimator/Luenberger/updatestate! 0.351 ± 0.001 μs 0.351 ± 0.001 μs 1 ± 0.004
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Current form 3.63 ± 0.19 ms 3.82 ± 0.4 ms 0.952 ± 0.11
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Prediction form 0.481 ± 0 μs 0.481 ± 0 μs 1 ± 0
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Current form 0.33 ± 0.019 ms 0.33 ± 0.019 ms 1 ± 0.081
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Prediction form 1.32 ± 0.011 μs 1.32 ± 0.01 μs 1 ± 0.011
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Current form 7.73 ± 3 μs 9.46 ± 4.7 μs 0.818 ± 0.51
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Prediction form 3.18 ± 0.18 ms 3.31 ± 0.25 ms 0.961 ± 0.092
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Current form 17.5 ± 0.37 μs 17.1 ± 0.33 μs 1.02 ± 0.029
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Prediction form 0.343 ± 0.02 ms 0.354 ± 0.02 ms 0.969 ± 0.077
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.01 μs 0.281 ± 0.01 μs 1 ± 0.05
UNIT TESTS/StateEstimator/SteadyKalmanFilter/updatestate! 0.381 ± 0.01 μs 0.381 ± 0.01 μs 1 ± 0.037
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/LinModel 0.311 ± 0.011 μs 0.301 ± 0.001 μs 1.03 ± 0.037
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/NonLinModel 0.911 ± 0.01 μs 0.912 ± 0.01 μs 0.999 ± 0.015
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/LinModel 3.8 ± 0.03 μs 3.67 ± 0.039 μs 1.04 ± 0.014
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/NonLinModel 5.16 ± 0.04 μs 4.95 ± 0.03 μs 1.04 ± 0.01
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/LinModel 3.52 ± 0.03 μs 3.47 ± 0.03 μs 1.01 ± 0.012
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/NonLinModel 6.34 ± 0.11 μs 6.37 ± 0.08 μs 0.995 ± 0.021
time_to_load 3.48 ± 0.04 s 3.52 ± 0.13 s 0.99 ± 0.037
Memory benchmarks
main c0f1d02... main / c0f1d02...
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: 9.02 MB 0.162 M allocs: 9.02 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/SingleShooting 0.0538 M allocs: 2.4 MB 0.0538 M allocs: 2.4 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.19 MB 0.127 M allocs: 7.19 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/SingleShooting 0.0555 M allocs: 2.44 MB 0.0555 M allocs: 2.44 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.91 MB 0.107 M allocs: 5.91 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.354 M allocs: 20.7 MB 0.354 M allocs: 20.7 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting (Hessian) 2.16 M allocs: 0.304 GB 2.03 M allocs: 0.15 GB 2.03
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/SingleShooting 0.357 M allocs: 17.2 MB 0.357 M allocs: 17.2 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation 2.7 M allocs: 0.31 GB 2.35 M allocs: 0.149 GB 2.08
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation (Hessian) 2.7 M allocs: 0.31 GB 2.35 M allocs: 0.149 GB 2.08
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting 0.271 M allocs: 15.6 MB 0.271 M allocs: 15.6 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting 0.0988 M allocs: 4.16 MB 0.0988 M allocs: 4.16 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation 0.38 M allocs: 20.6 MB 0.38 M allocs: 20.6 MB 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.23 M allocs: 13.2 MB 0.23 M allocs: 13.2 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (Hessian) 1.75 M allocs: 0.116 GB 1.75 M allocs: 0.116 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (threaded) 0.248 M allocs: 21 MB 0.248 M allocs: 21 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting 0.0778 M allocs: 3.26 MB 0.0778 M allocs: 3.26 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting (Hessian) 0.0846 M allocs: 5.34 MB 0.0846 M allocs: 5.34 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation 0.321 M allocs: 17.3 MB 0.321 M allocs: 17.3 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (Hessian) 2.01 M allocs: 0.12 GB 2.01 M allocs: 0.12 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (threaded) 0.339 M allocs: 25.3 MB 0.339 M allocs: 25.3 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.36 M allocs: 0.0836 GB 1.36 M allocs: 0.0836 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.647 M allocs: 0.0797 GB 0.647 M allocs: 0.0785 GB 1.01
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.065 M allocs: 11.4 MB 0.065 M allocs: 11.4 MB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form (Hessian) 0.0639 M allocs: 11.2 MB 0.0639 M allocs: 11.2 MB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form 0.0485 M allocs: 8.01 MB 0.0485 M allocs: 8.01 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/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/moveinput!/LinModel/MultipleShooting 2.92 k allocs: 0.149 MB 2.92 k allocs: 0.149 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/SingleShooting 0.519 k allocs: 19.6 kB 0.519 k allocs: 19.6 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShooting 3.16 k allocs: 0.168 MB 3.16 k allocs: 0.168 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShootingHessian 3.26 k allocs: 0.186 MB 3.26 k allocs: 0.186 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShooting 0.553 k allocs: 21.2 kB 0.553 k allocs: 21.2 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShootingHessian 0.553 k allocs: 21.2 kB 0.553 k allocs: 21.2 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/TrapezoidalCollocation 2.27 k allocs: 0.102 MB 2.27 k allocs: 0.102 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/preparestate!/LinModel/Current form 0.0754 M allocs: 14.6 MB 0.0754 M allocs: 14.7 MB 0.997
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.973 k allocs: 25.4 kB 0.973 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 0 allocs: 0 B 0 allocs: 0 B
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.973 k allocs: 25.4 kB 0.973 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 franckgaga removed a link to an issue Nov 8, 2025
@franckgaga
Copy link
Member Author

Will merge and open a new PR to benchmark performances of postprocessing=true option.

@franckgaga franckgaga merged commit 70ae5d1 into main Nov 8, 2025
5 checks passed
@franckgaga franckgaga deleted the new_default_backends branch November 8, 2025 21:13
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