mirror of
https://github.com/wassname/ray.git
synced 2026-08-14 12:40:23 +08:00
0.8.5 Release change. (#8358)
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
"""
|
||||
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()
|
||||
Reference in New Issue
Block a user