mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-29 08:34:37 +08:00
6a74af202d
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