Calculate confidence interval for benchmark measurements
This commit is contained in:
parent
685f4cca3c
commit
91459df87e
@ -91,12 +91,21 @@ class BenchmarkRunner:
|
||||
else:
|
||||
raise Exception(f"Unknown benchmark: {benchmark_name}")
|
||||
|
||||
def bootstrap_confidence_interval(data, num_samples=1000, confidence_level=0.95):
|
||||
means = []
|
||||
for _ in range(num_samples):
|
||||
sample = np.random.choice(data, size=len(data), replace=True)
|
||||
means.append(np.mean(sample))
|
||||
lower_bound = np.percentile(means, (1 - confidence_level) / 2 * 100)
|
||||
upper_bound = np.percentile(means, (1 + confidence_level) / 2 * 100)
|
||||
mean = np.mean(means)
|
||||
return mean, lower_bound, upper_bound
|
||||
|
||||
def calculate_confidence_interval(data):
|
||||
#assert len(data) == 5, f"Shape: {data.shape}"
|
||||
mean = np.mean(data)
|
||||
std_err = np.std(data, ddof=1) / np.sqrt(len(data))
|
||||
h = std_err * stats.t.ppf((1 + 0.95) / 2., len(data) - 1) # 95% confidence interval using t-distribution
|
||||
return mean, h, np.min(data)
|
||||
mean, lower, upper = bootstrap_confidence_interval(data)
|
||||
min_value = np.min(data)
|
||||
return mean, (upper - lower) / 2, min_value
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description='Run GPS benchmark tests.')
|
||||
@ -108,6 +117,7 @@ def main():
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
np.random.seed(42)
|
||||
|
||||
runner = BenchmarkRunner(args.gps_traces_file_path)
|
||||
|
||||
|
@ -101,7 +101,7 @@ function run_benchmarks_for_folder {
|
||||
fi
|
||||
|
||||
for METHOD in route nearest trip table match; do
|
||||
python3 $SCRIPTS_FOLDER/scripts/ci/e2e_benchmark.py --host http://localhost:5000 --method $METHOD --iterations 15 --num_requests 1000 --gps_traces_file_path $GPS_TRACES > $RESULTS_FOLDER/e2e_${METHOD}_${ALGORITHM}.bench
|
||||
python3 $SCRIPTS_FOLDER/scripts/ci/e2e_benchmark.py --host http://localhost:5000 --method $METHOD --iterations 5 --num_requests 1000 --gps_traces_file_path $GPS_TRACES > $RESULTS_FOLDER/e2e_${METHOD}_${ALGORITHM}.bench
|
||||
done
|
||||
|
||||
kill -9 $OSRM_ROUTED_PID
|
||||
|
Loading…
Reference in New Issue
Block a user