summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Peres <martin.peres@linux.intel.com>2016-01-15 17:25:09 +0200
committerMartin Peres <martin.peres@linux.intel.com>2016-01-15 17:25:09 +0200
commitc0f62ee729447abc45d311fef7832d62dfd057ac (patch)
tree10129624bb82301416914e85497e013186f5ea45
parent7dbba1f8747c9e2de72a90ea938a1f8dcbfd56d2 (diff)
ezbench.py: allow applications to cache the git history
This considerably speeds up the report generation in the compare tool
-rwxr-xr-xstats/compare_reports.py5
-rw-r--r--utils/ezbench.py17
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)