summaryrefslogtreecommitdiff
path: root/benchmark/bm_registry.py
diff options
context:
space:
mode:
authorJosh Blum2013-01-13 20:53:54 -0800
committerJosh Blum2013-01-13 20:53:54 -0800
commitae91f03af327779d1059060e32edd5f8c6140e39 (patch)
treeb5fe7c9d5e2f070636552f54dddad43d8f4860f2 /benchmark/bm_registry.py
parent4bdd10a2ab4d71bfc9dcee561a7ebb64c43df43f (diff)
downloadsandhi-ae91f03af327779d1059060e32edd5f8c6140e39.tar.gz
sandhi-ae91f03af327779d1059060e32edd5f8c6140e39.tar.bz2
sandhi-ae91f03af327779d1059060e32edd5f8c6140e39.zip
benchmark: split into registry and runner script
Diffstat (limited to 'benchmark/bm_registry.py')
-rw-r--r--benchmark/bm_registry.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/benchmark/bm_registry.py b/benchmark/bm_registry.py
new file mode 100644
index 0000000..26e64da
--- /dev/null
+++ b/benchmark/bm_registry.py
@@ -0,0 +1,51 @@
+# benchmark registry
+
+import os
+
+def tokwargs(**kwargs): return kwargs
+
+INSTALL_PREFIX = '/opt/usr'
+
+GRAS_ENV = {
+ 'PATH': os.path.join(INSTALL_PREFIX, 'gras/bin:$PATH:%s'%os.getenv('PATH')),
+ 'LD_LIBRARY_PATH': os.path.join(INSTALL_PREFIX, 'gras/lib:%s'%os.getenv('LD_LIBRARY_PATH')),
+ 'PYTHONPATH': os.path.join(INSTALL_PREFIX, 'gras/lib/python2.7/dist-packages:%s'%os.getenv('PYTHONPATH')),
+}
+
+GR_ENV = {
+ 'PATH': os.path.join(INSTALL_PREFIX, 'gr/bin:$PATH:%s'%os.getenv('PATH')),
+ 'LD_LIBRARY_PATH': os.path.join(INSTALL_PREFIX, 'gr/lib:%s'%os.getenv('LD_LIBRARY_PATH')),
+ 'PYTHONPATH': os.path.join(INSTALL_PREFIX, 'gr/lib/python2.7/dist-packages:%s'%os.getenv('PYTHONPATH')),
+}
+
+BENCHMARK_MATH_OPS = tokwargs(
+ wat='Benchmark GrExtras vs gr-blocks math blocks',
+ moar='''
+ All blocks are using vector optimization.
+ - GrExtras math blocks avoid an unnecessary memcpy.
+ - GrExtras math blocks enable automatic bufer in-placing.
+ ''',
+ tests = [
+ tokwargs(wat='GrExtras Adder', args=['tb_grextras_math.py', '1e8', 'extras_add'], env=GRAS_ENV),
+ tokwargs(wat='gr-blocks Adder', args=['tb_grextras_math.py', '1e8', 'blocks_add'], env=GRAS_ENV),
+ tokwargs(wat='GrExtras Multiplier', args=['tb_grextras_math.py', '1e8', 'extras_mult'], env=GRAS_ENV),
+ tokwargs(wat='gr-blocks Multiplier', args=['tb_grextras_math.py', '1e8', 'blocks_mult'], env=GRAS_ENV),
+ ],
+ to_result = lambda t: 1e8/t
+)
+
+BENCHMARK_MANY_11_BLOCKS = tokwargs(
+ wat='Benchmark the schedulers with many 1:1 ratio blocks',
+ moar='''TODO''',
+ tests = [
+ tokwargs(wat='Many 1:1 GRAS', args=['tb_many_1_to_1_blocks.py', '1e8'], env=GRAS_ENV),
+ #tokwargs(wat='Many 1:1 GRAS - TPP', args=['tb_many_1_to_1_blocks.py', '1e8'], env=GRAS_ENV, envextra=tokwargs(GRAS_TPP='1')),
+ tokwargs(wat='Many 1:1 GR', args=['tb_many_1_to_1_blocks.py', '1e8'], env=GR_ENV),
+ ],
+ to_result = lambda t: 1e8/t
+)
+
+BENCHMARKS = (
+ BENCHMARK_MATH_OPS,
+ BENCHMARK_MANY_11_BLOCKS,
+)