diff options
author | Martin Peres <martin.peres@linux.intel.com> | 2016-01-15 17:25:09 +0200 |
---|---|---|
committer | Martin Peres <martin.peres@linux.intel.com> | 2016-01-15 17:25:09 +0200 |
commit | c0f62ee729447abc45d311fef7832d62dfd057ac (patch) | |
tree | 10129624bb82301416914e85497e013186f5ea45 | |
parent | 7dbba1f8747c9e2de72a90ea938a1f8dcbfd56d2 (diff) |
ezbench.py: allow applications to cache the git history
This considerably speeds up the report generation in the compare tool
-rwxr-xr-x | stats/compare_reports.py | 5 | ||||
-rw-r--r-- | utils/ezbench.py | 17 |
2 files changed, 13 insertions, 9 deletions
diff --git a/stats/compare_reports.py b/stats/compare_reports.py index 8e93146..03b638b 100755 --- a/stats/compare_reports.py +++ b/stats/compare_reports.py @@ -68,12 +68,15 @@ db["benchmarks"] = list() db['env_sets'] = dict() db["envs"] = dict() human_envs = dict() +git_history = None for log_folder in args.log_folder: print("{f}: ".format(f=log_folder), end="") report_name = [x for x in log_folder.split('/') if x][-1] try: sbench = SmartEzbench(ezbench_dir, report_name, readonly=True) - report = sbench.report() + if git_history is None: + git_history = sbench.git_history() + report = sbench.report(git_history=git_history) except RuntimeError: report = genPerformanceReport(log_folder) diff --git a/utils/ezbench.py b/utils/ezbench.py index 5e80a14..b923d93 100644 --- a/utils/ezbench.py +++ b/utils/ezbench.py @@ -568,7 +568,7 @@ class SmartEzbench: return True - def __get_git_history__(self): + def git_history(self): git_history = list() # Get the repo directory @@ -581,11 +581,11 @@ class SmartEzbench: return git_history - def report(self, reorder_commits = True): - git_history = dict() - - if reorder_commits: - git_history = self.__get_git_history__() + def report(self, git_history=None, reorder_commits = True): + if reorder_commits and git_history is None: + git_history = self.git_history() + else: + git_history = list() # Generate the report, order commits based on the git history r = genPerformanceReport(self.state['log_folder'], silentMode = True, @@ -607,9 +607,10 @@ class SmartEzbench: "{} due to commit '{}'".format(msg, new)) return None - def schedule_enhancements(self, perf_change_threshold=0.05): + def schedule_enhancements(self, git_history=None, perf_change_threshold=0.05): # Generate the report, order commits based on the git history - git_history = self.__get_git_history__() + if git_history is None: + git_history = self.git_history() r = genPerformanceReport(self.state['log_folder'], silentMode = True, commits_rev_order=git_history) |