diff options
-rw-r--r-- | tests/lua/scimark.lua | 4 | ||||
-rwxr-xr-x | tests/runner.py | 21 |
2 files changed, 18 insertions, 7 deletions
diff --git a/tests/lua/scimark.lua b/tests/lua/scimark.lua index 69e8af95..c9ade269 100644 --- a/tests/lua/scimark.lua +++ b/tests/lua/scimark.lua @@ -384,8 +384,8 @@ local function measure(min_time, name, ...) until false end -printf("Lua SciMark %s based on SciMark 2.0a. %s.\n\n", - SCIMARK_VERSION, SCIMARK_COPYRIGHT) +--printf("Lua SciMark %s based on SciMark 2.0a. %s.\n\n", +-- SCIMARK_VERSION, SCIMARK_COPYRIGHT) while arg and arg[1] do local a = table.remove(arg, 1) diff --git a/tests/runner.py b/tests/runner.py index 79f91092..ef4c3c86 100755 --- a/tests/runner.py +++ b/tests/runner.py @@ -12633,7 +12633,7 @@ elif 'benchmark' in str(sys.argv): print ' JavaScript: mean: %.3f (+-%.3f) secs median: %.3f range: %.3f-%.3f (noise: %3.3f%%) (%d runs)' % (mean, std, median, min(times), max(times), 100*std/mean, reps) print ' Native : mean: %.3f (+-%.3f) secs median: %.3f range: %.3f-%.3f (noise: %3.3f%%) JS is %.2f X slower' % (mean_native, std_native, median_native, min(native_times), max(native_times), 100*std_native/mean_native, final) - def do_benchmark(self, name, src, expected_output='FAIL', args=[], emcc_args=[], native_args=[], shared_args=[], force_c=False, reps=TEST_REPS, native_exec=None): + def do_benchmark(self, name, src, expected_output='FAIL', args=[], emcc_args=[], native_args=[], shared_args=[], force_c=False, reps=TEST_REPS, native_exec=None, output_parser=None): # standard arguments for timing: # 0: no runtime, just startup # 1: very little runtime @@ -12671,7 +12671,10 @@ elif 'benchmark' in str(sys.argv): if i == 0 and 'uccessfully compiled asm.js code' in js_output: if 'asm.js link error' not in js_output: print "[%s was asm.js'ified]" % name - curr = time.time()-start + if not output_parser: + curr = time.time()-start + else: + curr = output_parser(js_output) times.append(curr) total_times[tests_done] += curr if i == 0: @@ -12691,7 +12694,10 @@ elif 'benchmark' in str(sys.argv): if i == 0: # Sanity check on output self.assertContained(expected_output, native_output) - curr = time.time()-start + if not output_parser: + curr = time.time()-start + else: + curr = output_parser(native_output) native_times.append(curr) total_native_times[tests_done] += curr @@ -12995,15 +13001,20 @@ elif 'benchmark' in str(sys.argv): self.do_benchmark('nbody_java', '', '''Time(s)''', force_c=True, emcc_args=args + ['-s', 'PRECISE_I64_MATH=1', '--llvm-lto', '0'], native_args=args + ['-lgc', '-std=c99', '-target', 'x86_64-pc-linux-gnu', '-lm']) - def zzztest_lua(self): + def test_lua(self): shutil.copyfile(path_from_root('tests', 'lua', 'scimark.lua'), 'scimark.lua') emcc_args = self.get_library('lua', [os.path.join('src', 'lua'), os.path.join('src', 'liblua.a')], make=['make', 'generic'], configure=None) + \ ['--embed-file', 'scimark.lua'] shutil.copyfile(emcc_args[0], emcc_args[0] + '.bc') emcc_args[0] += '.bc' native_args = self.get_library('lua_native', [os.path.join('src', 'lua'), os.path.join('src', 'liblua.a')], make=['make', 'generic'], configure=None, native=True) + + def parser(output): + return 1.0/float(re.search('\nSciMark +([\d\.]+) ', output).group(1)) + self.do_benchmark('lua', '', '''[small problem sizes]''', - force_c=True, args=['scimark.lua'], emcc_args=emcc_args, native_args=native_args, native_exec=os.path.join('building', 'lua_native', 'src', 'lua')) + force_c=True, args=['scimark.lua'], emcc_args=emcc_args, native_args=native_args, native_exec=os.path.join('building', 'lua_native', 'src', 'lua'), + output_parser=parser) def test_zlib(self): src = open(path_from_root('tests', 'zlib', 'benchmark.c'), 'r').read() |