Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1223)

Unified Diff: runtime/vm/compiler_stats.cc

Issue 11236063: Restructure code generation timers and add sub-timers for inlining phases. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Include and declare Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/compiler_stats.h ('k') | runtime/vm/flow_graph_inliner.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/compiler_stats.cc
diff --git a/runtime/vm/compiler_stats.cc b/runtime/vm/compiler_stats.cc
index 78a1ad7bb8ddaa6037808e7f44b536a9dfd96550..e9081f998bf71d92e05972772304207125e3f146 100644
--- a/runtime/vm/compiler_stats.cc
+++ b/runtime/vm/compiler_stats.cc
@@ -30,6 +30,22 @@ Timer CompilerStats::codegen_timer(true, "codegen timer");
// Cumulative timer of flow graph builder, included in codegen_timer.
Timer CompilerStats::graphbuilder_timer(true, "flow graph builder timer");
+// Cumulative timer of flow graph SSA construction, included in codegen_timer.
+Timer CompilerStats::ssa_timer(true, "flow graph SSA timer");
+
+// Cumulative timer of flow graph inliner, included in codegen_timer.
+Timer CompilerStats::graphinliner_timer(true, "flow graph inliner timer");
+// Cumulative sub-timers of flow graph inliner.
+Timer CompilerStats::graphinliner_parse_timer(true, "inliner parsing timer");
+Timer CompilerStats::graphinliner_build_timer(true, "inliner building timer");
+Timer CompilerStats::graphinliner_ssa_timer(true, "inliner SSA timer");
+Timer CompilerStats::graphinliner_opt_timer(true, "inliner optimization timer");
+Timer CompilerStats::graphinliner_subst_timer(true,
+ "inliner substitution timer");
+
+// Cumulative timer of flow graph optimizer, included in codegen_timer.
+Timer CompilerStats::graphoptimizer_timer(true, "flow graph optimizer timer");
+
// Cumulative timer of flow graph compiler, included in codegen_timer.
Timer CompilerStats::graphcompiler_timer(true, "flow graph compiler timer");
@@ -74,12 +90,39 @@ void CompilerStats::Print() {
OS::Print("Code gen. time: %"Pd64" msecs\n",
codegen_usecs / 1000);
int64_t graphbuilder_usecs = graphbuilder_timer.TotalElapsedTime();
- OS::Print(" Graph builder time: %"Pd64" msecs\n", graphbuilder_usecs / 1000);
+ OS::Print(" Graph builder: %"Pd64" msecs\n", graphbuilder_usecs / 1000);
+ int64_t ssa_usecs = ssa_timer.TotalElapsedTime();
+ OS::Print(" Graph SSA: %"Pd64" msecs\n", ssa_usecs / 1000);
+
+ int64_t graphinliner_usecs = graphinliner_timer.TotalElapsedTime();
+ OS::Print(" Graph inliner: %"Pd64" msecs\n", graphinliner_usecs / 1000);
+ int64_t graphinliner_parse_usecs =
+ graphinliner_parse_timer.TotalElapsedTime();
+ OS::Print(" Parsing: %"Pd64" msecs\n",
+ graphinliner_parse_usecs / 1000);
+ int64_t graphinliner_build_usecs =
+ graphinliner_build_timer.TotalElapsedTime();
+ OS::Print(" Building: %"Pd64" msecs\n",
+ graphinliner_build_usecs / 1000);
+ int64_t graphinliner_ssa_usecs = graphinliner_ssa_timer.TotalElapsedTime();
+ OS::Print(" SSA: %"Pd64" msecs\n",
+ graphinliner_ssa_usecs / 1000);
+ int64_t graphinliner_opt_usecs = graphinliner_opt_timer.TotalElapsedTime();
+ OS::Print(" Optimization: %"Pd64" msecs\n",
+ graphinliner_opt_usecs / 1000);
+ int64_t graphinliner_subst_usecs =
+ graphinliner_subst_timer.TotalElapsedTime();
+ OS::Print(" Substitution: %"Pd64" msecs\n",
+ graphinliner_subst_usecs / 1000);
+
+ int64_t graphoptimizer_usecs = graphoptimizer_timer.TotalElapsedTime();
+ OS::Print(" Graph optimizer: %"Pd64" msecs\n",
+ (graphoptimizer_usecs - graphinliner_usecs) / 1000);
int64_t graphcompiler_usecs = graphcompiler_timer.TotalElapsedTime();
- OS::Print(" Graph comp. time: %"Pd64" msecs\n",
+ OS::Print(" Graph compiler: %"Pd64" msecs\n",
graphcompiler_usecs / 1000);
int64_t codefinalizer_usecs = codefinalizer_timer.TotalElapsedTime();
- OS::Print(" Code final. time: %"Pd64" msecs\n",
+ OS::Print(" Code finalizer: %"Pd64" msecs\n",
codefinalizer_usecs / 1000);
OS::Print("Compilation speed: %"Pd64" tokens per msec\n",
1000 * num_tokens_total / (parse_usecs + codegen_usecs));
« no previous file with comments | « runtime/vm/compiler_stats.h ('k') | runtime/vm/flow_graph_inliner.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698