aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2011-11-12 14:32:22 -0800
committerAlon Zakai <alonzakai@gmail.com>2011-11-12 14:32:22 -0800
commit37becc579e59c1874d8a4d2429cbb7ed1b3321fe (patch)
tree35a9949911c8028803787d49b71902af403ba386
parent84def0e0ceecd79b1d7485fb193b6aef338d8831 (diff)
clean up benchmark code and disable raytrace, which is unreliable
-rw-r--r--tests/runner.py37
-rw-r--r--tools/autodebugger.py3
2 files changed, 23 insertions, 17 deletions
diff --git a/tests/runner.py b/tests/runner.py
index fbf1f119..c49764cf 100644
--- a/tests/runner.py
+++ b/tests/runner.py
@@ -3131,7 +3131,7 @@ if 'benchmark' not in str(sys.argv):
self.do_run(src, '789:123.46\n0:100.1')
- ### 'Big' tests
+ ### 'Medium' tests
def test_fannkuch(self):
results = [ (1,0), (2,1), (3,2), (4,4), (5,7), (6,10), (7, 16), (8,22) ]
@@ -4410,28 +4410,31 @@ else:
Building.COMPILER_TEST_OPTS = []
- Settings.RELOOP = Settings.OPTIMIZE = 1
- Settings.USE_TYPED_ARRAYS = 1
- Settings.QUANTUM_SIZE = 1
- Settings.I64_MODE = 0
- Settings.ASSERTIONS = Settings.SAFE_HEAP = Settings.CHECK_OVERFLOWS = Settings.CORRECT_OVERFLOWS = Settings.CHECK_SIGNS = Settings.INIT_STACK = Settings.AUTO_OPTIMIZE = Settings.RUNTIME_TYPE_INFO = 0
- Settings.INVOKE_RUN = 1
- Settings.CORRECT_SIGNS = 0
- Settings.CORRECT_ROUNDINGS = 0
- Settings.CORRECT_OVERFLOWS_LINES = Settings.CORRECT_SIGNS_LINES = Settings.CORRECT_ROUNDINGS_LINES = Settings.SAFE_HEAP_LINES = []
- Settings.DISABLE_EXCEPTION_CATCHING = 1
- if Settings.USE_TYPED_ARRAYS:
- Settings.TOTAL_MEMORY = 100*1024*1024 # XXX Needed for dlmalloc. TODO: Test other values
- Settings.FAST_MEMORY = 10*1024*1024
-
TEST_REPS = 10
- TOTAL_TESTS = 7
+ TOTAL_TESTS = 6
tests_done = 0
total_times = map(lambda x: 0., range(TOTAL_TESTS))
total_native_times = map(lambda x: 0., range(TOTAL_TESTS))
class benchmark(RunnerCore):
+ def setUp(self):
+ Settings.RELOOP = Settings.OPTIMIZE = 1
+ Settings.USE_TYPED_ARRAYS = 1
+ Settings.QUANTUM_SIZE = 1
+ Settings.I64_MODE = 0
+ Settings.ASSERTIONS = Settings.SAFE_HEAP = Settings.CHECK_OVERFLOWS = Settings.CORRECT_OVERFLOWS = Settings.CHECK_SIGNS = Settings.INIT_STACK = Settings.AUTO_OPTIMIZE = Settings.RUNTIME_TYPE_INFO = 0
+ Settings.INVOKE_RUN = 1
+ Settings.CORRECT_SIGNS = 0
+ Settings.CORRECT_ROUNDINGS = 0
+ Settings.CORRECT_OVERFLOWS_LINES = Settings.CORRECT_SIGNS_LINES = Settings.CORRECT_ROUNDINGS_LINES = Settings.SAFE_HEAP_LINES = []
+ Settings.DISABLE_EXCEPTION_CATCHING = 1
+ if Settings.USE_TYPED_ARRAYS:
+ Settings.TOTAL_MEMORY = 100*1024*1024 # XXX Needed for dlmalloc. TODO: Test other values
+ Settings.FAST_MEMORY = 10*1024*1024
+
+ super(benchmark, self).setUp()
+
def print_stats(self, times, native_times, normalize_by_native=False):
mean = sum(times)/len(times)
squared_times = map(lambda x: x*x, times)
@@ -4589,7 +4592,7 @@ else:
self.do_benchmark(src, ['2100000'], '''GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA\nTCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT\nAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG\nGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG\nCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT\nGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA\nGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA\nTTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG\nAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA\nGCCTGGGCGA''',
llvm_opts=True, handpicked=False)
- def test_raytrace(self):
+ def zzztest_raytrace(self): # This test is disabled because it gives wildly different results depending on float rounding, JIT effects, etc.
global POST_OPTIMIZATIONS; POST_OPTIMIZATIONS = ['eliminator', 'closure']
src = open(path_from_root('tests', 'raytrace.cpp'), 'r').read().replace('double', 'float') # benchmark with floats
diff --git a/tools/autodebugger.py b/tools/autodebugger.py
index f4c580a2..3a9260ad 100644
--- a/tools/autodebugger.py
+++ b/tools/autodebugger.py
@@ -3,6 +3,9 @@ Processes an LLVM assembly (.ll) file, adding debugging information.
You can then run the .ll file in the LLVM interpreter (lli) and
compare that to the output when compiled using emscripten.
+
+Warning: You probably want to compile with SKIP_STACK_IN_SMALL=0! Otherwise
+ there may be weird errors.
'''
import os, sys, re