Changes in / [41c19b4:4f0c520]


Ignore:
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • Jenkins/FullBuild

    r41c19b4 r4f0c520  
    1717
    1818                                parallel (
    19                                         gcc_8_x86_old: { trigger_build( 'gcc-8',   'x86', false ) },
    20                                         gcc_7_x86_old: { trigger_build( 'gcc-7',   'x86', false ) },
    21                                         gcc_6_x86_old: { trigger_build( 'gcc-6',   'x86', false ) },
    22                                         gcc_9_x64_old: { trigger_build( 'gcc-9',   'x64', false ) },
    23                                         gcc_8_x64_old: { trigger_build( 'gcc-8',   'x64', false ) },
    24                                         gcc_7_x64_old: { trigger_build( 'gcc-7',   'x64', false ) },
    25                                         gcc_6_x64_old: { trigger_build( 'gcc-6',   'x64', false ) },
    26                                         gcc_5_x64_old: { trigger_build( 'gcc-5',   'x64', false ) },
    27                                         clang_x64_old: { trigger_build( 'clang',   'x64', false ) },
    28                                         // clang_x64_new: { trigger_build( 'clang',   'x64', true  ) },
     19                                        gcc_8_x86: { trigger_build( 'gcc-8',   'x86' ) },
     20                                        gcc_7_x86: { trigger_build( 'gcc-7',   'x86' ) },
     21                                        gcc_6_x86: { trigger_build( 'gcc-6',   'x86' ) },
     22                                        gcc_9_x64: { trigger_build( 'gcc-9',   'x64' ) },
     23                                        gcc_8_x64: { trigger_build( 'gcc-8',   'x64' ) },
     24                                        gcc_7_x64: { trigger_build( 'gcc-7',   'x64' ) },
     25                                        gcc_6_x64: { trigger_build( 'gcc-6',   'x64' ) },
     26                                        gcc_5_x64: { trigger_build( 'gcc-5',   'x64' ) },
     27                                        clang_x64: { trigger_build( 'clang',   'x64' ) },
    2928                                )
    3029                        }
     
    6059//===========================================================================================================
    6160
    62 def trigger_build(String cc, String arch, Bool new_ast) {
     61def trigger_build(String cc, String arch) {
    6362        def result = build job: 'Cforall/master',               \
    6463                parameters: [                                           \
     
    6968                          name: 'Architecture',                         \
    7069                          value: arch],                                 \
    71                         [$class: 'BooleanParameterValue',               \
    72                           name: 'NewAST',                               \
    73                           value: new_ast],                              \
    7470                        [$class: 'BooleanParameterValue',               \
    7571                          name: 'RunAllTests',                          \
     
    8379                        [$class: 'BooleanParameterValue',               \
    8480                          name: 'Publish',                              \
    85                           value: true],                                         \
     81                          value: true],                                 \
    8682                        [$class: 'BooleanParameterValue',               \
    8783                          name: 'Silent',                               \
  • benchmark/rmit.py

    r41c19b4 r4f0c520  
    3838                self.vars = re.findall("[a-zA-Z]", value)
    3939
    40 def parse_option(key, values):
     40def parse_option(opt):
     41        match = re.search("^(.*):(.*)$", opt)
     42        if not match :
     43                print('ERROR: extra options should match pattern .*:.*, got {}'.format(opt), file=sys.stderr)
     44                sys.exit(1)
     45
     46        key    = match.group(1)
     47        values = match.group(2)
     48
    4149        try:
    4250                num = int(values)
     
    113121        parser = argparse.ArgumentParser(description='Python Script to implement R.M.I.T. testing : Randomized Multiple Interleaved Trials')
    114122        parser.add_argument('--list', help='List all the commands that would be run', action='store_true')
     123        parser.add_argument('--format', help='How to print the result', choices=formats, default='json')
    115124        parser.add_argument('--file', nargs='?', type=argparse.FileType('w'), default=sys.stdout)
    116         parser.add_argument('--trials', help='Number of trials to run per combinaison', type=int, default=3)
     125        parser.add_argument('-t', '--trials', help='Number of trials to run per combinaison', type=int, default=3)
     126        parser.add_argument('-o','--option',action='append')
    117127        parser.add_argument('command', metavar='command', type=str, nargs=1, help='the command prefix to run')
    118128        parser.add_argument('candidates', metavar='candidates', type=str, nargs='*', help='the candidate suffix to run')
    119129
    120130        try:
    121                 options, unknown =  parser.parse_known_args()
    122 
    123                 options.option = []
    124                 while unknown:
    125                         key = unknown.pop(0)
    126                         val = unknown.pop(0)
    127 
    128                         if key[0] != '-':
    129                                 raise ValueError
    130 
    131                         options.option.append((key[1:], val))
    132 
     131                options =  parser.parse_args()
    133132        except:
    134133                print('ERROR: invalid arguments', file=sys.stderr)
     
    151150        # ================================================================================
    152151        # Identify the options to run
    153         opts = dict([parse_option(k, v) for k, v in options.option])
     152        opts = dict([parse_option(o) for o in options.option])
    154153
    155154        # Evaluate the options (options can depend on the value of other options)
     
    178177        # find expected time
    179178        time = actions_eta(actions)
    180         print("Running {} trials{}".format(len(actions), "" if time == 0 else " (expecting to take {})".format(str(datetime.timedelta(seconds=int(time)))) ))
     179        print("Running {} trials{}".format(len(actions), "" if time == 0 else " (expecting to take {}".format(str(datetime.timedelta(seconds=int(time)))) ))
    181180
    182181        random.shuffle(actions)
     182        result = []
    183183
    184184        # ================================================================================
    185185        # Run
    186         options.file.write("[")
    187         first = True
    188186        for i, a in enumerate(actions):
    189187                sa = " ".join(a)
    190                 if first:
    191                         first = False
    192                 else:
    193                         options.file.write(",")
    194                 if options.file != sys.stdout:
    195                         print("{}/{} : {}          \r".format(i, len(actions), sa), end = '')
     188                print("{}/{} : {}          \r".format(i, len(actions), sa), end = '')
    196189                fields = {}
    197190                with subprocess.Popen( a, stdout  = subprocess.PIPE, stderr  = subprocess.PIPE) as proc:
     
    206199                                        fields[match.group(1).strip()] = float(match.group(2).strip().replace(',',''))
    207200
    208                 options.file.write(json.dumps([a[0][2:], sa, fields]))
    209                 options.file.flush()
    210 
    211         options.file.write("]\n")
    212 
    213         if options.file != sys.stdout:
    214                 print("Done                                                                                ")
     201                result.append([a[0][2:], sa, fields])
     202
     203        print("Done                                                                                ")
     204
     205        # ================================================================================
     206        # Print raw
     207        if options.format == 'raw':
     208                for r in result:
     209                        print(r, file=options.file)
     210                sys.exit(0)
     211
     212        # ================================================================================
     213        # Print json
     214        if options.format == 'json':
     215                json.dump(result, options.file)
     216                sys.exit(0)
     217
     218        # ================================================================================
     219        # Print csv
     220        if options.format == 'csv':
     221                # Clean result
     222                headers = ["series", "command"]
     223                data = []
     224                first = True
     225                for r in result:
     226                        if first:
     227                                first = False
     228                                headers.extend(r[2].keys())
     229                        else :
     230                                pass
     231
     232                        d = [r[0], r[1]]
     233                        for k in headers[2:]:
     234                                try:
     235                                        d.append(r[2][k])
     236                                except:
     237                                        d.append(0.0)
     238
     239                        data.append(d)
     240
     241                # Print csv
     242                print(",\t".join(headers), file=options.file)
     243                for d in data:
     244                        print(",\t".join(["{}".format(dd) for dd in d]), file=options.file)
     245                sys.exit(0)
  • configure.ac

    r41c19b4 r4f0c520  
    289289        longrun_tests/Makefile
    290290        benchmark/Makefile
    291         benchmark/io/http/Makefile
    292291        tools/Makefile
    293292        tools/prettyprinter/Makefile
Note: See TracChangeset for help on using the changeset viewer.