s/BenchmarkRunner.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 19 Jul 2013 23:38:23 +0100
changeset 134 287e1365b137
parent 125 1449209198c1
child 139 eaf40f3173ad
permissions -rw-r--r--
Parameter resolution refactored. Added more tests. Parameters are not resolved along the superclass hierarchy as well as benchmark, setup, teardown and warmup methods.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'jv:calipel/s' }"
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
Object subclass:#BenchmarkRunner
134
287e1365b137 Parameter resolution refactored. Added more tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 125
diff changeset
     4
	instanceVariableNames:'debugging suite result'
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
	classVariableNames:''
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	poolDictionaries:''
98
4266d340e722 Added user feedback info when running benchmarks using BenchmarkRunner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
     7
	category:'CalipeL-S-Core-Runner'
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
!
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!BenchmarkRunner class methodsFor:'documentation'!
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
documentation
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
"
124
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    14
    BechmarkRunner is the command line client for CalipeL.
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    15
    It parses the command line arguments, sets up the
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    16
    environment and run benchmarks. 
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
"
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
! !
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
!BenchmarkRunner class methodsFor:'instance creation'!
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
new
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
    "return an initialized instance"
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
    ^ self basicNew initialize.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
! !
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
!BenchmarkRunner methodsFor:'accessing'!
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
debugging
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
    ^ debugging
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
!
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
debugging:aBoolean
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    debugging := aBoolean.
134
287e1365b137 Parameter resolution refactored. Added more tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 125
diff changeset
    36
!
287e1365b137 Parameter resolution refactored. Added more tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 125
diff changeset
    37
287e1365b137 Parameter resolution refactored. Added more tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 125
diff changeset
    38
result
287e1365b137 Parameter resolution refactored. Added more tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 125
diff changeset
    39
    ^ result
287e1365b137 Parameter resolution refactored. Added more tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 125
diff changeset
    40
!
287e1365b137 Parameter resolution refactored. Added more tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 125
diff changeset
    41
287e1365b137 Parameter resolution refactored. Added more tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 125
diff changeset
    42
suite
287e1365b137 Parameter resolution refactored. Added more tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 125
diff changeset
    43
    ^ suite
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
! !
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
!BenchmarkRunner methodsFor:'error handling'!
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
124
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    48
error: message
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    49
    debugging ifTrue:[
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    50
        super error: message    
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    51
    ] ifFalse:[
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    52
        BenchmarkPlatform current stderr nextPutAll: 'ERROR: '; nextPutAll: message; nextPutAll:'
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    53
'.
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    54
        BenchmarkPlatform current stderr nextPutAll: '       '; nextPutAll: 'try --help to see available options'; nextPutAll:'
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    55
'.    
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    56
        BenchmarkPlatform current exit: 1
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    57
    ].
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    58
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    59
!
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    60
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
exit: code
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    debugging ifFalse:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
        BenchmarkPlatform current exit: code
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
    ].
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    "Created: / 02-11-2012 / 02:32:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    "Modified: / 06-06-2013 / 09:13:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
! !
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
!BenchmarkRunner methodsFor:'initialization'!
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
initialize
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
    "Invoked when a new instance is created."
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
    debugging := BenchmarkPlatform current isHeadless not
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
    "Modified: / 06-06-2013 / 09:24:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
! !
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
!BenchmarkRunner methodsFor:'main'!
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
main:argv
134
287e1365b137 Parameter resolution refactored. Added more tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 125
diff changeset
    83
    | i report machineid file params classes runs |
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
    params := Dictionary new.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
    classes := OrderedCollection new.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
    report := BenchmarkReport text.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    runs := 5.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
    i := 1.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
    [ i <= argv size ] whileTrue:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
        | arg |
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
        arg := argv at: i.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
        i := i + 1.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
        arg first == $- ifTrue:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
            arg = '-n' ifTrue:[
124
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    98
                i > argv size ifTrue:[
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    99
                    self error:'-n requires an integer parameter'
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   100
                ].
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
                runs := Integer readFrom: (argv at: i) onError:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
                    self error: '-n requires an integer parameter'.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
                    self exit: 1.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
                ].
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
                i := i + 1.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
            ].
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
            arg = '-o' ifTrue:[
124
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   108
                i > argv size ifTrue:[
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   109
                    self error:'-o requires a filename parameter'
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   110
                ].
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
                file := argv at: i.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
                i := i + 1.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
            ].
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
            arg = '-r' ifTrue:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
                | reportNm |
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
124
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   117
                i > argv size ifTrue:[
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   118
                    self error:'-r requires a valid class name parameter'
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   119
                ].
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
                reportNm := (argv at: i).
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
                i := i + 1.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
                report := Smalltalk at: reportNm asSymbol.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
                report isNil ifTrue:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
                    self error: 'No report class named ''', reportNm, ''''.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
                ].
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
            ].
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
            arg = '--text' ifTrue:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
                report := BenchmarkReport text.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
            ].
29
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   130
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
            arg = '--json' ifTrue:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
                report := BenchmarkReport json.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
            ].
29
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   134
122
9ad7296fc59a Added machine ID configuration value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   135
            arg = '--machineid' ifTrue:[
124
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   136
                i > argv size ifTrue:[
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   137
                    self error:'--machineid requires a string parameter.'
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   138
                ].                
122
9ad7296fc59a Added machine ID configuration value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   139
                machineid := argv at: i.
9ad7296fc59a Added machine ID configuration value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   140
                i := i + 1.
9ad7296fc59a Added machine ID configuration value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   141
            ].
9ad7296fc59a Added machine ID configuration value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   142
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
            arg second = $D ifTrue:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
                | eqIdx |
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
                ((arg size > 2) and:[(eqIdx := arg indexOf: $= startingAt: 3) ~~ 0]) ifTrue:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
                    params at: (arg copyFrom: 3 to: eqIdx - 1) put: (arg copyFrom: eqIdx + 1)
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
                ] ifFalse:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
                    self error: 'No parameter value'
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
                ]
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
            ]
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
        ] ifFalse:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
            classes add: arg.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
        ]
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
    ].
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
124
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   157
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   158
    classes isEmpty ifTrue:[
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   159
        self error:'No suite or benchmark specified.'
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   160
    ].
e5582f62aab5 Fixed command line argument handling and error reporting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   161
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
    "Build suite"
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
    suite := BenchmarkSuite new.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
    classes do:[:each|
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
        | classNm class selector |    
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
        i := each indexOf: $#.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
        i ~~ 0 ifTrue:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
            classNm := each copyTo: i - 1.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
            selector := (each copyFrom: i + 1) asSymbol.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
        ] ifFalse:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
            classNm := each.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
        ].
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
        class := Smalltalk at: classNm asSymbol.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
        class isNil ifTrue:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
            self error: 'Class ', classNm , ' does not exists'.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
        ].
76
97cf7bf849e6 Fix for Smalltalk/X: load the class if it is autoloaded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   177
        Smalltalk isSmalltalkX ifTrue:[
97cf7bf849e6 Fix for Smalltalk/X: load the class if it is autoloaded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   178
            class isLoaded ifFalse:[class autoload].
97cf7bf849e6 Fix for Smalltalk/X: load the class if it is autoloaded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   179
        ].
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
        selector isNil ifTrue:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
            suite addBenchmark: (BenchmarkSuite class: class)
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
        ] ifFalse:[
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
            suite addBenchmark: (BenchmarkSuite class:class selector:selector)
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
        ]
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
    ].
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
    "Run suite"
98
4266d340e722 Added user feedback info when running benchmarks using BenchmarkRunner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   188
    result := BenchmarkRunnerResult new.
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
    result runs: runs.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
    suite run: result with: params.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
    "Write report"
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
    file notNil ifTrue:[
29
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   194
        file asFilename writingFileDo:[:s|
125
1449209198c1 Fixes for machine id handling an JSON output.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 124
diff changeset
   195
            report
1449209198c1 Fixes for machine id handling an JSON output.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 124
diff changeset
   196
                machineId: machineid;
1449209198c1 Fixes for machine id handling an JSON output.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 124
diff changeset
   197
                write: result on: s 
29
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   198
        ]
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
    ] ifFalse:[
125
1449209198c1 Fixes for machine id handling an JSON output.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 124
diff changeset
   200
        report
1449209198c1 Fixes for machine id handling an JSON output.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 124
diff changeset
   201
            machineId: machineid;
1449209198c1 Fixes for machine id handling an JSON output.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 124
diff changeset
   202
            write: result on: BenchmarkPlatform current stdout
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
    ].
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
    self exit: 0.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
122
9ad7296fc59a Added machine ID configuration value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   207
    "Modified: / 13-07-2013 / 22:58:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
134
287e1365b137 Parameter resolution refactored. Added more tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 125
diff changeset
   208
    "Modified (format): / 18-07-2013 / 02:35:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
!
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
options
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
    "Prints common command line options to stderr"
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
    BenchmarkPlatform current stderr nextPutAll:
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
'
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
Common options:
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
  -o FILE ................ write output to FILE instead of to standard output (default: stdout)
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
  -n RUNS ................ how many times to run each bechmark (default: 5)
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
  -r REPORTCLASS ......... user REPORTCLASS to generate report (default: BenchmarkReportText)
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
  --text ................. generate text report (equivalent to -r BenchmarkReportText)
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
  --json ................. generate JSON report (equivalent to -r BenchmarkReportJSON)
122
9ad7296fc59a Added machine ID configuration value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   222
  --machineid ID ......... set the machine idetification string for JSON report
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
  -DNAME=VALUE ........... defines a parameter NAME with value of VALUE
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
Suitespec format:
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
  <suitespec> is CLASSNAME[#SELECTOR]
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
More documetation:
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
  see https://bitbucket.org/janvrany/jv-calipel/wiki/Home
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
'
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
    "Created: / 06-06-2013 / 11:01:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
122
9ad7296fc59a Added machine ID configuration value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   234
    "Modified: / 13-07-2013 / 16:36:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
! !
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
!BenchmarkRunner class methodsFor:'documentation'!
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
version_HG
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
    ^ '$Changeset: <not expanded> $'
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
! !
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243