Added planar graph to timing script
parent
eef8445ebd
commit
26246188af
|
@ -125,15 +125,6 @@ testBayesNetPreconditioner_LDADD = libgtsam.la
|
|||
testSubgraphPreconditioner_SOURCES = $(example) testSubgraphPreconditioner.cpp
|
||||
testSubgraphPreconditioner_LDADD = libgtsam.la
|
||||
|
||||
# the timing tests below are broken for now.
|
||||
#noinst_PROGRAMS = timeGaussianFactor timeGaussianFactorGraph
|
||||
|
||||
#timeGaussianFactor_SOURCES = timeGaussianFactor.cpp
|
||||
#timeGaussianFactorGraph_SOURCES = timeGaussianFactorGraph.cpp
|
||||
|
||||
#timeGaussianFactor_LDADD = libgtsam.la
|
||||
#timeGaussianFactorGraph_LDADD = libgtsam.la
|
||||
|
||||
# Nonlinear inference
|
||||
headers += Key.h NonlinearFactorGraph.h NonlinearFactorGraph-inl.h
|
||||
headers += NonlinearOptimizer.h NonlinearOptimizer-inl.h
|
||||
|
@ -184,10 +175,6 @@ testCal3_S2_LDADD = libgtsam.la
|
|||
testLieConfig_LDADD = libgtsam.la
|
||||
testTupleConfig_LDADD = libgtsam.la
|
||||
|
||||
noinst_PROGRAMS = timeRot3
|
||||
timeRot3_SOURCES = timeRot3.cpp
|
||||
timeRot3_LDADD = libgtsam.la
|
||||
|
||||
# simulated2D example
|
||||
sources += simulated2D.cpp
|
||||
testSimulated2D_SOURCES = testSimulated2D.cpp
|
||||
|
@ -253,6 +240,15 @@ testVSLAMConfig_LDADD = libgtsam.la
|
|||
headers += smallExample.h
|
||||
headers += $(sources:.cpp=.h)
|
||||
|
||||
# Timing tests
|
||||
noinst_PROGRAMS = timeGaussianFactor timeGaussianFactorGraph timeRot3
|
||||
timeRot3_SOURCES = timeRot3.cpp
|
||||
timeRot3_LDADD = libgtsam.la
|
||||
timeGaussianFactor_SOURCES = timeGaussianFactor.cpp
|
||||
timeGaussianFactor_LDADD = $(example) libgtsam.la
|
||||
timeGaussianFactorGraph_SOURCES = timeGaussianFactorGraph.cpp
|
||||
timeGaussianFactorGraph_LDADD = $(example) libgtsam.la
|
||||
|
||||
# create both dynamic and static libraries
|
||||
AM_CXXFLAGS = -I$(boost) -fPIC
|
||||
lib_LTLIBRARIES = libgtsam.la
|
||||
|
|
|
@ -25,13 +25,36 @@ double timeKalmanSmoother(int T) {
|
|||
return dif;
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
// Create a planar factor graph and optimize
|
||||
double timePlanarSmoother(int N) {
|
||||
GaussianFactorGraph fg;
|
||||
VectorConfig config;
|
||||
boost::tie(fg,config) = planarGraph(N);
|
||||
Ordering ordering = fg.getOrdering();
|
||||
clock_t start = clock();
|
||||
fg.optimize(ordering);
|
||||
clock_t end = clock ();
|
||||
double dif = (double)(end - start) / CLOCKS_PER_SEC;
|
||||
return dif;
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
TEST(timeGaussianFactorGraph, linearTime)
|
||||
{
|
||||
int T = 1000;
|
||||
double time1 = timeKalmanSmoother( T); // cout << time1 << endl;
|
||||
double time2 = timeKalmanSmoother(2*T); // cout << time2 << endl;
|
||||
DOUBLES_EQUAL(2*time1,time2,0.001);
|
||||
double time1 = timeKalmanSmoother( T); cout << time1 << endl;
|
||||
double time2 = timeKalmanSmoother(2*T); cout << time2 << endl;
|
||||
DOUBLES_EQUAL(2*time1,time2,0.1);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
TEST(timeGaussianFactorGraph, planar)
|
||||
{
|
||||
// 1740: 8.12, 8.12, 8.12, 8.16, 8.14
|
||||
int N = 30;
|
||||
double time = timePlanarSmoother(N); cout << time << endl;
|
||||
DOUBLES_EQUAL(8.12,time,0.1);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
|
|
Loading…
Reference in New Issue