More refined event logging in solver_impl.cc
Change-Id: Ie3061c921c006d2600d16185c690f52ccf816f68
diff --git a/internal/ceres/solver_impl.cc b/internal/ceres/solver_impl.cc
index 9b56f28..a070ce6 100644
--- a/internal/ceres/solver_impl.cc
+++ b/internal/ceres/solver_impl.cc
@@ -256,6 +256,7 @@
minimizer_options.evaluator = evaluator;
scoped_ptr<SparseMatrix> jacobian(evaluator->CreateJacobian());
+
minimizer_options.jacobian = jacobian.get();
minimizer_options.inner_iteration_minimizer = inner_iteration_minimizer;
@@ -414,6 +415,7 @@
event_logger.AddEvent("InitialEvaluate");
original_program->SetParameterBlockStatePtrsToUserStatePtrs();
+ event_logger.AddEvent("SetParameterBlockPtrs");
// If the user requests gradient checking, construct a new
// ProblemImpl by wrapping the CostFunctions of problem_impl inside
@@ -438,8 +440,10 @@
LOG(ERROR) << summary->error;
return;
}
+ event_logger.AddEvent("CheckOrdering");
options.linear_solver_ordering =
new ParameterBlockOrdering(*original_options.linear_solver_ordering);
+ event_logger.AddEvent("CopyOrdering");
} else {
options.linear_solver_ordering = new ParameterBlockOrdering;
const ProblemImpl::ParameterMap& parameter_map =
@@ -449,10 +453,9 @@
++it) {
options.linear_solver_ordering->AddElementToGroup(it->first, 0);
}
+ event_logger.AddEvent("ConstructOrdering");
}
- event_logger.AddEvent("ConstructOrdering");
-
// Create the three objects needed to minimize: the transformed program, the
// evaluator, and the linear solver.
scoped_ptr<Program> reduced_program(CreateReducedProgram(&options,
@@ -589,7 +592,6 @@
summary->preprocessor_time_in_seconds =
minimizer_start_time - solver_start_time;
- event_logger.AddEvent("FinalInit");
// Run the optimization.
TrustRegionMinimize(options,
reduced_program.get(),
@@ -1068,7 +1070,7 @@
return NULL;
}
- event_logger.AddEvent("RemovedFixedBlocks");
+ event_logger.AddEvent("RemoveFixedBlocks");
if (transformed_program->NumParameterBlocks() == 0) {
if (transformed_program->NumResidualBlocks() > 0) {