diff options
-rwxr-xr-x | user_activity_benchmarks/benchmark_metrics_experiment.py | 31 | ||||
-rwxr-xr-x | user_activity_benchmarks/benchmark_metrics_experiment_unittest.py | 8 |
2 files changed, 24 insertions, 15 deletions
diff --git a/user_activity_benchmarks/benchmark_metrics_experiment.py b/user_activity_benchmarks/benchmark_metrics_experiment.py index b21dfad8..e8152e74 100755 --- a/user_activity_benchmarks/benchmark_metrics_experiment.py +++ b/user_activity_benchmarks/benchmark_metrics_experiment.py @@ -23,11 +23,7 @@ the functions matching the group. The output is stored in the file cwp_function_groups_statistics_file. """ -from collections import defaultdict - import argparse -import csv -import os import sys import benchmark_metrics @@ -85,14 +81,28 @@ class MetricsExperiment(object): inclusive_statistics_reference = \ utils.ParseCWPInclusiveCountFile(self._cwp_inclusive_reference) + inclusive_statistics_cum_reference = \ + utils.ComputeCWPCummulativeInclusiveStatistics( + inclusive_statistics_reference) inclusive_statistics_test = \ utils.ParseCWPInclusiveCountFile(self._cwp_inclusive_test) + inclusive_statistics_cum_test = \ + utils.ComputeCWPCummulativeInclusiveStatistics( + inclusive_statistics_test) pairwise_inclusive_statistics_reference = \ utils.ParseCWPPairwiseInclusiveCountFile( self._cwp_pairwise_inclusive_reference) + pairwise_inclusive_fractions_reference = \ + utils.ComputeCWPChildFunctionsFractions( + inclusive_statistics_cum_reference, + pairwise_inclusive_statistics_reference) pairwise_inclusive_statistics_test = \ utils.ParseCWPPairwiseInclusiveCountFile( self._cwp_pairwise_inclusive_test) + pairwise_inclusive_fractions_test = \ + utils.ComputeCWPChildFunctionsFractions( + inclusive_statistics_cum_test, + pairwise_inclusive_statistics_test) parent_function_statistics = {} with open(self._cwp_function_groups_file) as input_file: @@ -100,21 +110,20 @@ class MetricsExperiment(object): for parent_function_key, parent_function_statistics_test \ in inclusive_statistics_test.iteritems(): - parent_function_name, parent_function_file_name = \ - parent_function_key.split(',') + parent_function_name, _ = parent_function_key.split(',') parent_function_fraction_test = parent_function_statistics_test[2] parent_function_fraction_reference = \ inclusive_statistics_reference[parent_function_key][2] - child_functions_statistics_test = \ - pairwise_inclusive_statistics_test.get(parent_function_name, {}) + child_functions_fractions_test = \ + pairwise_inclusive_fractions_test.get(parent_function_name, {}) - child_functions_statistics_reference = \ - pairwise_inclusive_statistics_reference.get(parent_function_name, {}) + child_functions_fractions_reference = \ + pairwise_inclusive_fractions_reference.get(parent_function_name, {}) distance = benchmark_metrics.ComputeDistanceForFunction( - child_functions_statistics_test, child_functions_statistics_reference) + child_functions_fractions_test, child_functions_fractions_reference) parent_function_score_test = benchmark_metrics.ComputeScoreForFunction( distance, parent_function_fraction_test, diff --git a/user_activity_benchmarks/benchmark_metrics_experiment_unittest.py b/user_activity_benchmarks/benchmark_metrics_experiment_unittest.py index dc5cefd5..c4755efe 100755 --- a/user_activity_benchmarks/benchmark_metrics_experiment_unittest.py +++ b/user_activity_benchmarks/benchmark_metrics_experiment_unittest.py @@ -5,7 +5,6 @@ # found in the LICENSE file. """Unit tests for the benchmark_metrics_experiment module.""" -import mock import os import tempfile import unittest @@ -43,20 +42,21 @@ class MetricsExperimentTest(unittest.TestCase): os.close(function_statistics_file) + expected_group_statistics_lines = \ ['group,file_path,function_count,distance_cum,distance_avg,score_cum,' 'score_avg\n', - 'ab,/a/b,2.0,3.16,1.58,7.52435897436,3.76217948718\n', + 'ab,/a/b,2.0,3.01,1.505,8.26344228895,4.13172114448\n', 'e,/e,2.0,2.0,1.0,27.5,13.75\n', 'cd,/c/d,2.0,2.0,1.0,27.5,13.75'] expected_function_statistics_lines = \ ['function,file,distance,score\n', 'func_i,/c/d/file_i,1.0,17.6\n', 'func_j,/e/file_j,1.0,27.5\n', - 'func_f,/a/b/file_f,1.56,1.47435897436\n', + 'func_f,/a/b/file_f,1.59,1.4465408805\n', 'func_h,/c/d/file_h,1.0,9.9\n', 'func_k,/e/file_k,1.0,0.0\n', - 'func_g,/a/b/file_g,1.6,6.05'] + 'func_g,/a/b/file_g,1.42,6.81690140845'] metric_experiment = \ MetricsExperiment(self._pairwise_inclusive_count_reference_file, self._pairwise_inclusive_count_test_file, |