changeset 5877:0e54d9bb922d

Add SPECjbb2005 to the benchmarks
author Gilles Duboscq <duboscq@ssw.jku.at>
date Thu, 26 Jul 2012 17:08:54 +0200
parents c21886d4e125
children 191e08da4de4
files mx/commands.py mx/sanitycheck.py
diffstat 2 files changed, 16 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mx/commands.py	Thu Jul 26 14:51:13 2012 +0200
+++ b/mx/commands.py	Thu Jul 26 17:08:54 2012 +0200
@@ -878,6 +878,9 @@
         specjvms = [a[12:] for a in args if a.startswith('specjvm2008:')]
         for specjvm in specjvms:
             benchmarks += [sanitycheck.getSPECjvm2008([specjvm], True, 120, 120)]
+            
+    if ('specjbb2005' in args or 'all' in args):
+        benchmarks += [sanitycheck.getSPECjbb2005()]
 
     for test in benchmarks:
         for (group, res) in test.bench(vm).items():
--- a/mx/sanitycheck.py	Thu Jul 26 14:51:13 2012 +0200
+++ b/mx/sanitycheck.py	Thu Jul 26 17:08:54 2012 +0200
@@ -96,6 +96,19 @@
 class SanityCheckLevel:
     Fast, Gate, Normal, Extensive, Benchmark = range(5)
     
+def getSPECjbb2005(benchArgs = []):
+    
+    specjbb2005 = mx.get_env('SPECJBB2005')
+    if specjbb2005 is None or not exists(join(specjbb2005, 'jbb.jar')):
+        mx.abort('Please set the SPECJBB2005 environment variable to a SPECjbb2005 directory')
+    
+    score = re.compile(r"^Valid run, Score is  (?P<score>[0-9]+)$")
+    error = re.compile(r"VALIDATION ERROR")
+    success = re.compile(r"^Valid run, Score is  [0-9]+$")
+    matcher = Matcher(score, {'const:group' : "const:SPECjbb2005", 'const:name' : 'const:score', 'const:score' : 'score'})
+    classpath = ['jbb.jar', 'check.jar']
+    return Test("SPECjbb2005", ['spec.jbb.JBBmain', '-propfile', 'SPECjbb.props'] + benchArgs, [success], [error], [matcher], vmOpts=['-Xms3g', '-XX:+UseSerialGC', '-cp', os.pathsep.join(classpath)], defaultCwd=specjbb2005)
+    
 def getSPECjvm2008(benchArgs = [], skipKitValidation=False, warmupTime=None, iterationTime=None):
     
     specjvm2008 = mx.get_env('SPECJVM2008')