Spaces:
Runtime error
Runtime error
| # Copyright (c) Facebook, Inc. and its affiliates. All rights reserved. | |
| # | |
| # This source code is licensed under the BSD license found in the | |
| # LICENSE file in the root directory of this source tree. | |
| import glob | |
| import os | |
| import subprocess | |
| import xformers.benchmarks.utils as utils | |
| class NamedObject: | |
| def __init__(self, name) -> None: | |
| self.__name__ = name | |
| def git_file_at(filename: str, ref: str) -> str: | |
| try: | |
| return subprocess.check_output( | |
| ["git", "show", f"{ref}:{filename}"], text=True | |
| ).strip() | |
| except subprocess.CalledProcessError: | |
| return "" # File does not exist in that revision | |
| GITHUB_BASE_REF = subprocess.check_output( | |
| ["git", "rev-parse", "origin/" + os.environ["GITHUB_BASE_REF"]], text=True | |
| ).strip() | |
| XFORMERS_BENCHMARKS_CACHE = os.environ["XFORMERS_BENCHMARKS_CACHE"] | |
| GITHUB_CURRENT_REF = subprocess.check_output( | |
| ["git", "rev-parse", "HEAD"], text=True | |
| ).strip() | |
| for f in glob.glob(os.path.join(XFORMERS_BENCHMARKS_CACHE, "*", "*.csv")): | |
| before = git_file_at(f, ref=GITHUB_BASE_REF) | |
| now = git_file_at(f, ref=GITHUB_CURRENT_REF) | |
| if before == "" or before == now: | |
| continue | |
| benchmark_name = os.path.basename(os.path.dirname(f)) | |
| print("#" * 100) | |
| print(f"# UPDATED: {f}") | |
| print("#" * 100) | |
| filename_before = f.replace("reference", "before") | |
| filename_now = f.replace("reference", "now") | |
| with open(filename_before, "w+") as fd: | |
| fd.write(before) | |
| with open(filename_now, "w+") as fd: | |
| fd.write(now) | |
| utils.benchmark_run_and_compare( | |
| benchmark_fn=NamedObject(benchmark_name), | |
| cases=[], | |
| compare=[ | |
| os.path.basename(filename_before)[: -len(".csv")], | |
| os.path.basename(filename_now)[: -len(".csv")], | |
| ], | |
| ) | |