12345678910111213141516171819202122232425262728293031323334353637 |
- """Computes statistiscs from raw performance results."""
- import sys
- import argparse
- from collections import defaultdict
- import utils
- def main():
- arg_parser = argparse.ArgumentParser()
- arg_parser.add_argument('input', help='The performance data file.')
- args = arg_parser.parse_args()
- perf_data = utils.parse_perf_data(args.input)
- for quantity, opt_level_dict in perf_data.items():
- for opt_level, data_points in opt_level_dict:
- perf_per_test = defaultdict(list)
- for test_name, measurement in data_points:
- perf_per_test[test_name].append(measurement)
- for test_name, measurement_list in perf_per_test.items():
- utils.write_perf_entry_to_stream(
- test_name, opt_level, quantity,
- utils.mean(measurement_list), sys.stdout)
- if len(measurement_list) > 1:
- utils.write_perf_entry_to_stream(
- test_name, opt_level, quantity + '-standard-deviation',
- utils.standard_deviation(measurement_list), sys.stdout)
- utils.write_perf_entry_to_stream(
- test_name, opt_level, quantity + '-sample-size',
- len(measurement_list), sys.stdout)
- if __name__ == '__main__':
- main()
|