diff options
Diffstat (limited to 'src/main/java/bjc/rgens/parser/RGrammarTest.java')
| -rwxr-xr-x | src/main/java/bjc/rgens/parser/RGrammarTest.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main/java/bjc/rgens/parser/RGrammarTest.java b/src/main/java/bjc/rgens/parser/RGrammarTest.java index 4b1f283..02a32f7 100755 --- a/src/main/java/bjc/rgens/parser/RGrammarTest.java +++ b/src/main/java/bjc/rgens/parser/RGrammarTest.java @@ -28,9 +28,21 @@ public class RGrammarTest { /* Generate rule suggestions for all the grammars in the set. */ for (String gramName : gramSet.getGrammars()) { + long startSuggTime = System.nanoTime(); + gramSet.getGrammar(gramName).generateSuggestions(); + + long endSuggTime = System.nanoTime(); + + long suggDur = endSuggTime - startSuggTime; + + if(gramSet.PERF) + System.err.printf("PERF: Generated rule suggestions for %s in %d ns (%f s)\n", gramName, suggDur, suggDur / 1000000000.0); } + if(gramSet.PERF) + System.err.printf("\n\n"); + /* Generate for each exported rule. */ for (String exportName : gramSet.getExportedRules()) { /* Where we loaded the rule from. */ @@ -40,6 +52,7 @@ public class RGrammarTest { System.out.printf("Generating for exported rule '%s' from file '%s'\n", exportName, loadSrc); RGrammar grammar = gramSet.getExportSource(exportName); + long startGenTime = System.nanoTime(); for (int i = 0; i < 100; i++) { try { String res = grammar.generate(exportName); @@ -62,6 +75,12 @@ public class RGrammarTest { System.out.println(); } } + long endGenTime = System.nanoTime(); + + long genDur = endGenTime - startGenTime; + + if(gramSet.PERF) + System.err.printf("PERF: Generated %s 100 times in %d ns (%f s)\n", exportName, genDur, genDur / 1000000000.0); } } catch (IOException ioex) { ioex.printStackTrace(); |
