Print a debug message for generations that are taking a long time.

This commit is contained in:
whitequark 2016-10-12 22:52:47 +00:00
parent 2ccf5954d4
commit 62f5f690c1

View File

@ -144,6 +144,9 @@ bool SolveSpaceUI::PruneConstraints(hGroup hg) {
void SolveSpaceUI::GenerateAll(Generate type, bool andFindFree, bool genForBBox) { void SolveSpaceUI::GenerateAll(Generate type, bool andFindFree, bool genForBBox) {
int first, last, i, j; int first, last, i, j;
uint64_t startMillis = GetMilliseconds(),
endMillis;
SK.groupOrder.Clear(); SK.groupOrder.Clear();
for(int i = 0; i < SK.group.n; i++) for(int i = 0; i < SK.group.n; i++)
SK.groupOrder.Add(&SK.group.elem[i].h); SK.groupOrder.Add(&SK.group.elem[i].h);
@ -349,6 +352,23 @@ void SolveSpaceUI::GenerateAll(Generate type, bool andFindFree, bool genForBBox)
FreeAllTemporary(); FreeAllTemporary();
allConsistent = true; 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; return;
pruned: pruned: