commit | 6a74af202d83cf31811ea17dc66c74d03b89d79e | [log] [tgz] |
---|---|---|
author | Sameer Agarwal <sameeragarwal@google.com> | Wed May 22 09:57:06 2024 -0700 |
committer | Sameer Agarwal <sameeragarwal@google.com> | Thu May 30 15:53:02 2024 -0700 |
tree | f8a01c814a09ab8b2b8c64143b79f783d67ee16a | |
parent | f8c2994dad23780621506e91e0ea7d675f7987c8 [diff] |
Remove a level of indirection when using CellInfo The CellInfo struct contains a mutex, which interacts poorly with some standard library containers which may move things around. As a result we were using std::unique_ptr<CellInfo> in these containers, but this change gets rid of that level of indirection as std::unordered_map can construct CellInfo in place and we can replace the use of std::vector with an array we know will not be resized. This improves the performance of the schur eliminator a bit but also the performance of the block diagonal preconditioners. Change-Id: If3ccd1273a754d9c5112e6e611ce31066b6b27b5
Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. Ceres Solver can solve two kinds of problems.
Please see ceres-solver.org for more information.