1syntax = "proto3"; 2 3package com.android.bedstead.nene.benchmarks; 4 5option java_multiple_files = true; 6option java_outer_classname = "BenchmarkProtos"; 7 8// Describes all relevant info about a specific benchmark. 9message BenchmarkMetadata { 10 // The unique, human-readable name of the benchmark. 11 string name = 1; 12} 13 14// Describes results obtained from running a benchmark. 15message BenchmarkResult { 16 // The benchmark's metadata. 17 BenchmarkMetadata metadata = 1; 18 19 // Describes statistical runtime metrics obtained from running a benchmark multiple times. 20 // All runtimes are in milliseconds. 21 message RuntimeMetrics { 22 // The minimum runtime from the set of runs. 23 double minimum = 1; 24 // The maximum runtime from the set of runs. 25 double maximum = 2; 26 // The median runtime from the set of runs. 27 double median = 3; 28 // The mean runtime from the set of runs. 29 double mean = 4; 30 // The standard deviation of the runtimes from the set of runs. 31 double standardDeviation = 5; 32 } 33 // Runtime metrics for the benchmark. 34 RuntimeMetrics runtimeMetrics = 2; 35} 36