aboutsummaryrefslogtreecommitdiffstats
path: root/qtip/loader/base.py
diff options
context:
space:
mode:
authorYujun Zhang <zhang.yujunz@zte.com.cn>2016-12-30 14:08:15 +0800
committerYujun Zhang <zhang.yujunz@zte.com.cn>2017-01-03 18:16:12 +0800
commitd8c05b528b5a75377848d130286bc997da06a792 (patch)
treed88f44e3a0d87ffdf64ba20ecf0417e01f63427f /qtip/loader/base.py
parentdecad5f7fdb212c4f78fc31f00e591eaba104450 (diff)
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 <zhang.yujunz@zte.com.cn>
Diffstat (limited to 'qtip/loader/base.py')
-rw-r--r--qtip/loader/base.py11
1 files changed, 5 insertions, 6 deletions
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)