Added timeSequentialOnDataset and timeMultifrontalOnDataset, removed timeLinearOnDataset
parent
521abed2bc
commit
60e10d7380
|
@ -26,7 +26,7 @@ check_PROGRAMS += testSerialization
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Timing tests
|
# Timing tests
|
||||||
noinst_PROGRAMS = timeGaussianFactorGraph timeLinearOnDataset
|
noinst_PROGRAMS = timeGaussianFactorGraph timeSequentialOnDataset timeMultifrontalOnDataset
|
||||||
|
|
||||||
#----------------------------------------------------------------------------------------------------
|
#----------------------------------------------------------------------------------------------------
|
||||||
# rules to build unit tests
|
# rules to build unit tests
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
/* ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
* GTSAM Copyright 2010, Georgia Tech Research Corporation,
|
||||||
|
* Atlanta, Georgia 30332-0415
|
||||||
|
* All Rights Reserved
|
||||||
|
* Authors: Frank Dellaert, et al. (see THANKS for the full author list)
|
||||||
|
|
||||||
|
* See LICENSE for the license information
|
||||||
|
|
||||||
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file timeSequentialOnDataset.cpp
|
||||||
|
* @brief
|
||||||
|
* @author Richard Roberts
|
||||||
|
* @created Oct 7, 2010
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <gtsam/base/timing.h>
|
||||||
|
#include <gtsam/slam/dataset.h>
|
||||||
|
#include <gtsam/linear/GaussianFactorGraph.h>
|
||||||
|
#include <gtsam/linear/GaussianMultifrontalSolver.h>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
using namespace gtsam;
|
||||||
|
using namespace boost;
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
|
||||||
|
string datasetname;
|
||||||
|
if(argc > 1)
|
||||||
|
datasetname = argv[1];
|
||||||
|
else
|
||||||
|
datasetname = "intel";
|
||||||
|
|
||||||
|
pair<shared_ptr<Pose2Graph>, shared_ptr<Pose2Values> > data = load2D(dataset(datasetname));
|
||||||
|
|
||||||
|
tic_("Z 1 order");
|
||||||
|
Ordering::shared_ptr ordering(data.first->orderingCOLAMD(*data.second));
|
||||||
|
toc_("Z 1 order");
|
||||||
|
tictoc_print_();
|
||||||
|
|
||||||
|
tic_("Z 2 linearize");
|
||||||
|
GaussianFactorGraph::shared_ptr gfg(data.first->linearize(*data.second, *ordering));
|
||||||
|
toc_("Z 2 linearize");
|
||||||
|
tictoc_print_();
|
||||||
|
|
||||||
|
for(size_t trial = 0; trial < 100; ++trial) {
|
||||||
|
|
||||||
|
tic_("Z 3 solve");
|
||||||
|
VectorValues soln(*GaussianMultifrontalSolver(*gfg).optimize());
|
||||||
|
toc_("Z 3 solve");
|
||||||
|
|
||||||
|
tictoc_print_();
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
}
|
|
@ -10,7 +10,7 @@
|
||||||
* -------------------------------------------------------------------------- */
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file timeLinearOnDataset.cpp
|
* @file timeSequentialOnDataset.cpp
|
||||||
* @brief
|
* @brief
|
||||||
* @author Richard Roberts
|
* @author Richard Roberts
|
||||||
* @created Oct 7, 2010
|
* @created Oct 7, 2010
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
#include <gtsam/base/timing.h>
|
#include <gtsam/base/timing.h>
|
||||||
#include <gtsam/slam/dataset.h>
|
#include <gtsam/slam/dataset.h>
|
||||||
#include <gtsam/linear/GaussianFactorGraph.h>
|
#include <gtsam/linear/GaussianFactorGraph.h>
|
||||||
#include <gtsam/linear/GaussianJunctionTree.h>
|
#include <gtsam/linear/GaussianSequentialSolver.h>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace gtsam;
|
using namespace gtsam;
|
||||||
|
@ -48,8 +48,7 @@ int main(int argc, char *argv[]) {
|
||||||
for(size_t trial = 0; trial < 100; ++trial) {
|
for(size_t trial = 0; trial < 100; ++trial) {
|
||||||
|
|
||||||
tic_("Z 3 solve");
|
tic_("Z 3 solve");
|
||||||
GaussianJunctionTree gjt(*gfg);
|
VectorValues soln(*GaussianSequentialSolver(*gfg).optimize());
|
||||||
VectorValues soln(gjt.optimize());
|
|
||||||
toc_("Z 3 solve");
|
toc_("Z 3 solve");
|
||||||
|
|
||||||
tictoc_print_();
|
tictoc_print_();
|
Loading…
Reference in New Issue