Document rationale for not reordering program when using Accelerate.
Change-Id: Id11b3920cfdc706133ee497773a537287adc0a27
diff --git a/internal/ceres/reorder_program.cc b/internal/ceres/reorder_program.cc
index 49e0449..5a3fbfd 100644
--- a/internal/ceres/reorder_program.cc
+++ b/internal/ceres/reorder_program.cc
@@ -569,9 +569,12 @@
*tsm_block_jacobian_transpose,
&ordering[0]);
} else if (sparse_linear_algebra_library_type == ACCELERATE_SPARSE) {
- // TODO(alex): Investigate what analysis on pre-ordered matrices
- // Accelerate supports, but for now disable.
- // https://github.com/ceres-solver/ceres-solver/issues/394.
+ // Accelerate does not provide a function to perform reordering without
+ // performing a full symbolic factorisation. As such, we have nothing
+ // to gain from trying to reorder the problem here, as it will happen
+ // in AppleAccelerateCholesky::Factorize() (once) and reordering here
+ // would involve performing two symbolic factorisations instead of one
+ // which would have a negative overall impact on performance.
return true;
} else if (sparse_linear_algebra_library_type == EIGEN_SPARSE) {