From 62f5f690c1b93a6c5105b02a2688bcefcbdf8c4c Mon Sep 17 00:00:00 2001 From: whitequark Date: Wed, 12 Oct 2016 22:52:47 +0000 Subject: [PATCH] Print a debug message for generations that are taking a long time. --- src/generate.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/generate.cpp b/src/generate.cpp index 541ba17..4059427 100644 --- a/src/generate.cpp +++ b/src/generate.cpp @@ -144,6 +144,9 @@ bool SolveSpaceUI::PruneConstraints(hGroup hg) { void SolveSpaceUI::GenerateAll(Generate type, bool andFindFree, bool genForBBox) { int first, last, i, j; + uint64_t startMillis = GetMilliseconds(), + endMillis; + SK.groupOrder.Clear(); for(int i = 0; i < SK.group.n; i++) SK.groupOrder.Add(&SK.group.elem[i].h); @@ -349,6 +352,23 @@ void SolveSpaceUI::GenerateAll(Generate type, bool andFindFree, bool genForBBox) FreeAllTemporary(); allConsistent = true; + endMillis = GetMilliseconds(); + + if(endMillis - startMillis > 30) { + const char *typeStr; + switch(type) { + case Generate::DIRTY: typeStr = "DIRTY"; break; + case Generate::ALL: typeStr = "ALL"; break; + case Generate::REGEN: typeStr = "REGEN"; break; + case Generate::UNTIL_ACTIVE: typeStr = "UNTIL_ACTIVE"; break; + } + if(endMillis) + dbp("Generate::%s%s took %lld ms", + typeStr, + (genForBBox ? " (for bounding box)" : ""), + GetMilliseconds() - startMillis); + } + return; pruned: