/** * @file timeFactorOverhead.cpp * @brief Compares times of solving large single-factor graphs with their multi-factor equivalents. * @author Richard Roberts * @created Aug 20, 2010 */ #include #include #include #include #include #include using namespace gtsam; using namespace std; static boost::variate_generator > rg(boost::mt19937(), boost::uniform_real<>(0.0, 1.0)); int main(int argc, char *argv[]) { varid_t key = 0; size_t vardim = 2; size_t blockdim = 1; size_t nBlocks = 2000; size_t nTrials = 10; double blockbuild, blocksolve, combbuild, combsolve; cout << "\n1 variable of dimension " << vardim << ", " << nBlocks << " blocks of dimension " << blockdim << "\n"; cout << nTrials << " trials\n"; ///////////////////////////////////////////////////////////////////////////// // Timing test with blockwise Gaussian factor graphs { // Build GFG's cout << "Building blockwise Gaussian factor graphs... "; cout.flush(); boost::timer timer; timer.restart(); vector blockGfgs; blockGfgs.reserve(nTrials); for(size_t trial=0; trial combGfgs; for(size_t trial=0; trial