Don't compute tree size and depth with debugging disabled (#1588)
This commit is contained in:
1 parent
da5bccb5c5
commit
1466006638
1 file changed
+14
-6
@@ -1116,26 +1116,34 @@ public class Expression
|
|||||||
if (CarpetSettings.scriptsDebugging)
|
if (CarpetSettings.scriptsDebugging)
|
||||||
CarpetScriptServer.LOG.info("Input code size for "+getModuleName()+": " + treeSize(root) + " nodes, " + treeDepth(root) + " deep");
|
CarpetScriptServer.LOG.info("Input code size for "+getModuleName()+": " + treeSize(root) + " nodes, " + treeDepth(root) + " deep");
|
||||||
|
|
||||||
|
// Defined out here to not need to conditionally assign them with debugging disabled
|
||||||
|
int prevTreeSize = -1;
|
||||||
|
int prevTreeDepth = -1;
|
||||||
|
|
||||||
boolean changed = true;
|
boolean changed = true;
|
||||||
while(changed) {
|
while(changed) {
|
||||||
changed = false;
|
changed = false;
|
||||||
while (true) {
|
while (true) {
|
||||||
int tree_size = treeSize(root);
|
if (CarpetSettings.scriptsDebugging) {
|
||||||
int tree_depth = treeDepth(root);
|
prevTreeSize = treeSize(root);
|
||||||
|
prevTreeDepth = treeDepth(root);
|
||||||
|
}
|
||||||
boolean optimized = compactTree(root, Context.Type.NONE, 0);
|
boolean optimized = compactTree(root, Context.Type.NONE, 0);
|
||||||
if (!optimized) break;
|
if (!optimized) break;
|
||||||
changed = true;
|
changed = true;
|
||||||
if (CarpetSettings.scriptsDebugging)
|
if (CarpetSettings.scriptsDebugging)
|
||||||
CarpetScriptServer.LOG.info("Compacted from " + tree_size + " nodes, " + tree_depth + " code depth to " + treeSize(root) + " nodes, " + treeDepth(root) + " code depth");
|
CarpetScriptServer.LOG.info("Compacted from " + prevTreeSize + " nodes, " + prevTreeDepth + " code depth to " + treeSize(root) + " nodes, " + treeDepth(root) + " code depth");
|
||||||
}
|
}
|
||||||
while (true) {
|
while (true) {
|
||||||
int tree_size = treeSize(root);
|
if (CarpetSettings.scriptsDebugging) {
|
||||||
int tree_depth = treeDepth(root);
|
prevTreeSize = treeSize(root);
|
||||||
|
prevTreeDepth = treeDepth(root);
|
||||||
|
}
|
||||||
boolean optimized = optimizeTree(optimizeOnlyContext, root, Context.Type.NONE, 0);
|
boolean optimized = optimizeTree(optimizeOnlyContext, root, Context.Type.NONE, 0);
|
||||||
if (!optimized) break;
|
if (!optimized) break;
|
||||||
changed = true;
|
changed = true;
|
||||||
if (CarpetSettings.scriptsDebugging)
|
if (CarpetSettings.scriptsDebugging)
|
||||||
CarpetScriptServer.LOG.info("Optimized from " + tree_size + " nodes, " + tree_depth + " code depth to " + treeSize(root) + " nodes, " + treeDepth(root) + " code depth");
|
CarpetScriptServer.LOG.info("Optimized from " + prevTreeSize + " nodes, " + prevTreeDepth + " code depth to " + treeSize(root) + " nodes, " + treeDepth(root) + " code depth");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return extractOp(optimizeOnlyContext, root, Context.Type.NONE);
|
return extractOp(optimizeOnlyContext, root, Context.Type.NONE);
|
||||||
|
|||||||
Reference in new issue
Block a user