coin-or / qpOASES

Open-source C++ implementation of the recently proposed online active set strategy
GNU Lesser General Public License v2.1
376 stars 127 forks source link

qpOASES_e may be considerably slower than qpOASES #39

Closed svigerske closed 4 years ago

svigerske commented 4 years ago

Issue created by migration from Trac.

Original creator: ferreau

Original creation time: 2015-07-28 20:16:11

Assignee: ferreau

Version: 3.1.0

There are examples where the plain C translation qpOASES_e is up to a factor of two slower(!) than the original C++ version. More profiling is needed to spot and fix this issue.

svigerske commented 4 years ago

Comment by ferreau created at 2015-08-25 13:30:18

Changing status from new to assigned.

svigerske commented 4 years ago

Comment by ferreau created at 2016-03-16 10:03:00

More thorough profiling on various QP instances did not show the suspected behaviour. In contrast, qpOASES_e was basically always faster than the C++ version (up to 1/3) and the difference was slightly more pronounced for cold-starts than for hotstarts.

Tests were performend on rather small-scale benchmark examples (10-100 variables, up to 200 constraints) on Windows 7 using the MS Visual Studio 2010 compiler with optimization flags turned on.

svigerske commented 4 years ago

Comment by ferreau created at 2016-03-16 10:03:00

Resolution: worksForMe