From 6c4546779a2dff7a03a1f1cc8978e3facbf3cd16 Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Sat, 7 Dec 2024 18:20:50 -0500 Subject: [PATCH] add timing info --- gtsam/discrete/DiscreteFactorGraph.cpp | 24 +++++++++++++++--------- gtsam/discrete/TableFactor.cpp | 6 ++++++ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/gtsam/discrete/DiscreteFactorGraph.cpp b/gtsam/discrete/DiscreteFactorGraph.cpp index 29bd1f9ac..904108afb 100644 --- a/gtsam/discrete/DiscreteFactorGraph.cpp +++ b/gtsam/discrete/DiscreteFactorGraph.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -144,12 +145,15 @@ namespace gtsam { EliminateForMPE(const DiscreteFactorGraph& factors, const Ordering& frontalKeys) { // PRODUCT: multiply all factors - gttic(product); + gttic_(MPEProduct); DiscreteFactor::shared_ptr product = factors.product(); - gttoc(product); + gttoc_(MPEProduct); + + gttic_(Normalize); // Normalize the product product = Normalize(product); + gttoc_(Normalize); // max out frontals, this is the factor on the separator gttic(max); @@ -229,17 +233,19 @@ namespace gtsam { EliminateDiscrete(const DiscreteFactorGraph& factors, const Ordering& frontalKeys) { // PRODUCT: multiply all factors - gttic(product); + gttic_(product); DiscreteFactor::shared_ptr product = factors.product(); - gttoc(product); + gttoc_(product); - // Normalize the product + gttic_(Normalize); + // Normalize the product product = Normalize(product); + gttoc_(Normalize); // sum out frontals, this is the factor on the separator - gttic(sum); + gttic_(sum); DecisionTreeFactor::shared_ptr sum = product->sum(frontalKeys); - gttoc(sum); + gttoc_(sum); // Ordering keys for the conditional so that frontalKeys are really in front Ordering orderedKeys; @@ -249,10 +255,10 @@ namespace gtsam { sum->keys().end()); // now divide product/sum to get conditional - gttic(divide); + gttic_(divide); auto conditional = std::make_shared(product, *sum, orderedKeys); - gttoc(divide); + gttoc_(divide); return {conditional, sum}; } diff --git a/gtsam/discrete/TableFactor.cpp b/gtsam/discrete/TableFactor.cpp index 7cf520973..b867fa916 100644 --- a/gtsam/discrete/TableFactor.cpp +++ b/gtsam/discrete/TableFactor.cpp @@ -72,7 +72,9 @@ TableFactor::TableFactor(const DiscreteKeys& dkeys, */ std::vector ComputeLeafOrdering(const DiscreteKeys& dkeys, const DecisionTreeFactor& dt) { + gttic_(ComputeLeafOrdering); std::vector probs = dt.probabilities(); + gttoc_(ComputeLeafOrdering); std::vector ordered; size_t n = dkeys[0].second; @@ -180,12 +182,16 @@ DiscreteFactor::shared_ptr TableFactor::operator*( /* ************************************************************************ */ DecisionTreeFactor TableFactor::toDecisionTreeFactor() const { + gttic_(toDecisionTreeFactor); DiscreteKeys dkeys = discreteKeys(); std::vector table; for (auto i = 0; i < sparse_table_.size(); i++) { table.push_back(sparse_table_.coeff(i)); } + gttoc_(toDecisionTreeFactor); + gttic_(toDecisionTreeFactor_Constructor); DecisionTreeFactor f(dkeys, table); + gttoc_(toDecisionTreeFactor_Constructor); return f; }