Closed ericphanson closed 5 months ago
btw, it was my first time profiling end-to-end with a pure julia solver, it's pretty neat to do a @profview
in vscode and jump to kkt_update!
and stuff like that!
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 97.84%. Comparing base (
de4bff2
) to head (95b1fa0
).
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Before:
After:
So we go from OOMing to solving it in 13s, not bad! Sparse constants are very important because we internally use constants to represent vectorized operations, in which we take a
nxm
matrix, vectorize it to an*m
vector, then put it on the diagonal of a(n*m) x (n*m)
matrix - and if the latter ever gets densified, that's a huge issue.JuMP and Convex don't get the same answers here, but I don't think it is too concerning, since it is an iterative algorithm so can be sensitive to small changes, and we formulate the problem a little differently.