mirror of
https://github.com/vale981/ray
synced 2025-03-06 10:31:39 -05:00
64 lines
1.7 KiB
Python
64 lines
1.7 KiB
Python
![]() |
"""
|
||
|
Compare the last two versions and output the change rate.
|
||
|
This can also be used to draw graph, which is not
|
||
|
implemented yet.
|
||
|
|
||
|
Usage: python microbenchmark_analysis.py
|
||
|
"""
|
||
|
import glob
|
||
|
|
||
|
from collections import defaultdict
|
||
|
|
||
|
FRIST_VERSION = 0
|
||
|
LAST_VERSION = 5
|
||
|
FILES = sorted(glob.glob("./release_logs/[0-9].[0-9].[0-9]/microbenchmark.txt"))
|
||
|
|
||
|
task_info = defaultdict(list)
|
||
|
task_std_info = defaultdict(list)
|
||
|
version_list = []
|
||
|
|
||
|
|
||
|
def get_task_type(line):
|
||
|
return line.split("per")[0]
|
||
|
|
||
|
|
||
|
def get_task_performance(line):
|
||
|
return float(line.split(" ")[-3])
|
||
|
|
||
|
|
||
|
def get_task_std(line):
|
||
|
return float(line.split(" ")[-1])
|
||
|
|
||
|
|
||
|
def main():
|
||
|
for file_name in FILES:
|
||
|
version = file_name.split("/")[1]
|
||
|
version_list.append(version)
|
||
|
|
||
|
with open(file_name) as file:
|
||
|
for line in file.readlines():
|
||
|
if line.startswith("#") or line.startswith("\n"):
|
||
|
continue
|
||
|
line = line.strip()
|
||
|
task_type = get_task_type(line)
|
||
|
task_performance = get_task_performance(line)
|
||
|
task_standard_deviation = get_task_std(line)
|
||
|
task_info[task_type].append(task_performance)
|
||
|
task_std_info[task_type].append(task_standard_deviation)
|
||
|
|
||
|
for task_type, task_performance_list in task_info.items():
|
||
|
# Newly introduced fields are not going to be compared.
|
||
|
if len(task_performance_list) < 2:
|
||
|
continue
|
||
|
|
||
|
latest_perf = task_performance_list[-1]
|
||
|
second_latest_perf = task_performance_list[-2]
|
||
|
change_rate = (latest_perf - second_latest_perf) / second_latest_perf * 100
|
||
|
print(
|
||
|
"{} performance change rate: {}%".format(task_type, round(change_rate, 2))
|
||
|
)
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
main()
|