Home | History | Annotate | Download | only in simdjs
      1 #!/usr/bin/python
      2 # Copyright 2015 the V8 project authors. All rights reserved.
      3 # Use of this source code is governed by a BSD-style license that can be
      4 # found in the LICENSE file.
      5 
      6 # Script to re-generate SimdJs.json from a SimdJs.json.template.
      7 
      8 import json
      9 import os
     10 import re
     11 
     12 SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__))
     13 
     14 SKIP_FILES = [
     15     '../ecmascript_simd',
     16     'base',
     17     # TODO(bradnelson): Drop these when tests are fixed upstream.
     18     'aobench',
     19     'averageFloat32x4Load',
     20     'matrix-multiplication-load',
     21 ]
     22 
     23 run_js = open(
     24     os.path.join(SCRIPT_DIR, 'data', 'src', 'benchmarks', 'run.js')).read()
     25 tests = re.findall("load \\(\\'([^']+)[.]js\\'\\)", run_js)
     26 tests = [t for t in tests if t not in SKIP_FILES]
     27 
     28 output = {
     29   'name': 'SIMDJS',
     30   'run_count': 5,
     31   'run_count_arm': 3,
     32   'run_count_android_arm': 1,
     33   'run_count_android_arm64': 3,
     34   'timeout_arm': 120,
     35   'timeout_android_arm': 180,
     36   'timeout_android_arm64': 120,
     37   'units': 'ms',
     38   'resources': [
     39     'test/simdjs/data/src/benchmarks/base.js',
     40     'test/simdjs/harness-adapt.js',
     41     'test/simdjs/harness-finish.js'
     42   ] + ['test/simdjs/data/src/benchmarks/%s.js' % t for t in tests],
     43   'flags': ['test/simdjs/harness-adapt.js'],
     44   'path': ['../../'],
     45   'tests': [
     46     {
     47       'name': test,
     48       'main': 'test/simdjs/harness-finish.js',
     49       'flags': ['test/simdjs/data/src/benchmarks/%s.js' % test],
     50       'results_regexp': '%s\\([ ]*([0-9.]+)(ms)?\\)',
     51       'tests': [
     52         {'name': 'SIMD'},
     53         {'name': 'Non-SIMD'},
     54       ]
     55     }
     56   for test in tests],
     57 }
     58 
     59 with open(os.path.join(SCRIPT_DIR, 'SimdJs.json'), 'w') as fh:
     60   fh.write(json.dumps(output, separators=(',',': '), indent=2, sort_keys=True))
     61