From d8c05b528b5a75377848d130286bc997da06a792 Mon Sep 17 00:00:00 2001 From: Yujun Zhang Date: Fri, 30 Dec 2016 14:08:15 +0800 Subject: Implement plan, qpi and metric constructors - separate runner from `plan` and move `plan` to `loader` - rename `algorithm` to `formula` - use `numpy` for formulas - update sample qpi and metrics Change-Id: I3131ca79907376f2de31d6cb920bd7d0230664a6 Signed-off-by: Yujun Zhang --- qtip/loader/base.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'qtip/loader/base.py') diff --git a/qtip/loader/base.py b/qtip/loader/base.py index f7fcb669..2f5ab67a 100644 --- a/qtip/loader/base.py +++ b/qtip/loader/base.py @@ -20,13 +20,13 @@ ROOT_DIR = 'benchmarks' class BaseLoader(object): """Abstract class of QTIP benchmark loader""" - DEFAULT_DIR = '.' + RELATIVE_PATH = '.' _paths = [path.join(path.dirname(__file__), path.pardir, path.pardir, ROOT_DIR)] def __init__(self, name, paths=None): self._file = name - self._abspath = self._find(name, paths) + self._abspath = self._find(name, paths=paths) try: content = yaml.safe_load(file(self._abspath)) @@ -38,12 +38,11 @@ class BaseLoader(object): else path.splitext(name)[0] self.content = content - def _find(self, name, paths): + def _find(self, name, paths=None): """find a benchmark in searching paths""" paths = self._paths if paths is None else paths - name = path.join(self.DEFAULT_DIR, name) for p in paths: - abspath = path.join(p, name) + abspath = path.join(p, self.RELATIVE_PATH, name) if path.exists(abspath): return abspath raise NotFound(name, paths) @@ -52,7 +51,7 @@ class BaseLoader(object): def list_all(cls, paths=None): """list all available benchmarks""" paths = cls._paths if paths is None else paths - names = chain.from_iterable([listdir(path.join(p, cls.DEFAULT_DIR)) + names = chain.from_iterable([listdir(path.join(p, cls.RELATIVE_PATH)) for p in paths]) for name in names: item = cls(name, paths=paths) -- cgit 1.2.3-korg