def init(filename): global benchmark_dataset, message_class, message_list, counter, total_bytes message_list = [] counter = 0 total_bytes = 0 data = open(filename, "rb").read() benchmark_dataset = benchmarks_pb2.BenchmarkDataset() benchmark_dataset.ParseFromString(data) if benchmark_dataset.message_name == "benchmarks.proto3.GoogleMessage1": message_class = benchmark_message1_proto3_pb2.GoogleMessage1 elif benchmark_dataset.message_name == "benchmarks.proto2.GoogleMessage1": message_class = benchmark_message1_proto2_pb2.GoogleMessage1 elif benchmark_dataset.message_name == "benchmarks.proto2.GoogleMessage2": message_class = benchmark_message2_pb2.GoogleMessage2 elif benchmark_dataset.message_name == "benchmarks.google_message3.GoogleMessage3": message_class = benchmark_message3_pb2.GoogleMessage3 elif benchmark_dataset.message_name == "benchmarks.google_message4.GoogleMessage4": message_class = benchmark_message4_pb2.GoogleMessage4 else: raise IOError("Message %s not found!" % (benchmark_dataset.message_name)) for one_payload in benchmark_dataset.payload: temp = message_class() temp.ParseFromString(one_payload) message_list.append(temp) total_bytes += len(one_payload)
def run_one_test(filename): data = open(os.path.dirname(sys.argv[0]) + "/../" + filename).read() benchmark_dataset = benchmarks_pb2.BenchmarkDataset() benchmark_dataset.ParseFromString(data) benchmark_util = Benchmark(full_iteration=len(benchmark_dataset.payload), module="py_benchmark", setup_method="init") print "Message %s of dataset file %s" % \ (benchmark_dataset.message_name, filename) benchmark_util.set_test_method("parse_from_benchmark") print benchmark_util.run_benchmark(setup_method_args='"%s"' % (filename)) benchmark_util.set_test_method("serialize_to_benchmark") print benchmark_util.run_benchmark(setup_method_args='"%s"' % (filename)) print ""
def run_one_test(filename): data = open(filename).read() benchmark_dataset = benchmarks_pb2.BenchmarkDataset() benchmark_dataset.ParseFromString(data) benchmark_util = Benchmark(full_iteration=len(benchmark_dataset.payload), module="py_benchmark", setup_method="init") result = {} result["filename"] = filename result["message_name"] = benchmark_dataset.message_name result["benchmarks"] = {} benchmark_util.set_test_method("parse_from_benchmark") result["benchmarks"][args.behavior_prefix + "_parse_from_benchmark"] = \ benchmark_util.run_benchmark(setup_method_args='"%s"' % (filename)) benchmark_util.set_test_method("serialize_to_benchmark") result["benchmarks"][args.behavior_prefix + "_serialize_to_benchmark"] = \ benchmark_util.run_benchmark(setup_method_args='"%s"' % (filename)) return result