From fe8b4294fca67077ef33b54ea52b61a2e43b1576 Mon Sep 17 00:00:00 2001 From: Alexandre Terrasa Date: Sun, 4 Nov 2012 15:08:03 -0500 Subject: [PATCH] nitmetrics: refactor rta metrics computation Signed-off-by: Alexandre Terrasa --- src/metrics/metrics.nit | 2 +- src/metrics/metrics_base.nit | 3 +++ src/metrics/{rta_stats.nit => rta_metrics.nit} | 10 +++++----- src/nitmetrics.nit | 7 +++++-- 4 files changed, 14 insertions(+), 8 deletions(-) rename src/metrics/{rta_stats.nit => rta_metrics.nit} (88%) diff --git a/src/metrics/metrics.nit b/src/metrics/metrics.nit index 507c67b..7904ca6 100644 --- a/src/metrics/metrics.nit +++ b/src/metrics/metrics.nit @@ -23,6 +23,6 @@ import visit_nullable_sends import visit_self import model_stats import generate_hierarchies -import rta_stats +import rta_metrics import model_hyperdoc import tables_metrics diff --git a/src/metrics/metrics_base.nit b/src/metrics/metrics_base.nit index 7bb23d9..950b956 100644 --- a/src/metrics/metrics_base.nit +++ b/src/metrics/metrics_base.nit @@ -21,6 +21,8 @@ import modelbuilder redef class ToolContext + # --rta + var opt_rta = new OptionBool("Compute RTA metrics", "--rta") # --generate_hyperdoc var opt_generate_hyperdoc = new OptionBool("Generate Hyperdoc", "--generate_hyperdoc") @@ -30,6 +32,7 @@ redef class ToolContext redef init do super + self.option_context.add_option(opt_rta) self.option_context.add_option(opt_generate_hyperdoc) self.option_context.add_option(opt_dir) end diff --git a/src/metrics/rta_stats.nit b/src/metrics/rta_metrics.nit similarity index 88% rename from src/metrics/rta_stats.nit rename to src/metrics/rta_metrics.nit index 47da557..cebf766 100644 --- a/src/metrics/rta_stats.nit +++ b/src/metrics/rta_metrics.nit @@ -14,18 +14,18 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Statistics of a RTA -module rta_stats +# Metrics from RTA +module rta_metrics import modelbuilder private import rapid_type_analysis -# Run a runtime type anamysis and print statistics -fun compute_rta_stats(modelbuilder: ModelBuilder, mainmodule: MModule) +# Run a runtime type analysis and print metrics +fun compute_rta_metrics(modelbuilder: ModelBuilder, mainmodule: MModule) do var analysis = modelbuilder.do_rapid_type_analysis(mainmodule) - print "--- Type Analysis ---" + print "--- RTA metrics ---" print "Number of live runtime types (instantied resolved type): {analysis.live_types.length}" if analysis.live_types.length < 8 then print "\t{analysis.live_types.join(" ")}" print "Number of live method definitions: {analysis.live_methoddefs.length}" diff --git a/src/nitmetrics.nit b/src/nitmetrics.nit index a2d20f8..68a6490 100644 --- a/src/nitmetrics.nit +++ b/src/nitmetrics.nit @@ -71,8 +71,11 @@ count_ntypes(modelbuilder) print "" compute_tables_metrics(mainmodule) -print "" -compute_rta_stats(modelbuilder, mainmodule) +# RTA metrics +if toolcontext.opt_rta.value then + print "" + compute_rta_metrics(modelbuilder, mainmodule) +end # Generate Hyperdoc if toolcontext.opt_generate_hyperdoc.value then -- 1.7.9.5