s/BenchmarkPlatform.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 21 Mar 2016 13:15:35 +0100
changeset 314 9ac0be200068
parent 288 3e9a0ef23dfd
permissions -rw-r--r--
CI: Added CI scripts for Pharo ...to make Jenkins setup easier. To run CalipeL/S tests on Pharo, simply execute: wget -O "ci-pharo-common.sh" https://bitbucket.org/janvrany/jv-calipel/raw/tip/s/pharo/ci/ci-pharo-tests.sh | bash -x To run standard set ob benchmarks on Pharo, run wget -O "ci-pharo-common.sh" https://bitbucket.org/janvrany/jv-calipel/raw/tip/s/pharo/ci/ci-pharo-benchmarks.sh | bash -x
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
283
51f9245f0cb2 Normalized runtime and OS identification strings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 262
diff changeset
     3
"{ NameSpace: Smalltalk }"
51f9245f0cb2 Normalized runtime and OS identification strings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 262
diff changeset
     4
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
Object subclass:#BenchmarkPlatform
262
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
     6
	instanceVariableNames:'instruments'
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:'Current'
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
12
3a7ebd3da52f Class categories renamed from CalipeL/S to CalipeL-S...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
     9
	category:'CalipeL-S-Core'
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
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
!BenchmarkPlatform 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
    13
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
documentation
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
"
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
 Replace 'Object', 'NewClass1' and
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
 the empty string arguments by true values.
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
 Install (or change) the class by 'accepting',
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
 either via the menu or the keyboard (usually CMD-A).
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
 You can also change the category simply by editing
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
 the categoryString and accepting.
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
 To be nice to others (and yourself later), do not forget to
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
 add some documentation; preferably under the classes documentation
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
 protocol.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
 (see the `create documentation stubs' item in the methodList menu;
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
  switch from instance to class to find this menu item.)
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
 Notice, that ST/X uses the convention to document the class using
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
 comment-only class methods (however, ST80 comments are supported and
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
 can be changed via the class-documentation menu).
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
"
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
! !
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
262
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    38
!BenchmarkPlatform class methodsFor:'instance creation'!
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    39
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    40
new
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    41
    "return an initialized instance"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    42
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    43
    ^ self basicNew initialize.
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    44
! !
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    45
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
!BenchmarkPlatform class methodsFor:'accessing'!
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
current
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
    ^Current
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    "Created: / 06-06-2013 / 08:54:04 / 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
    52
! !
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
288
3e9a0ef23dfd Use #setCurrent: rather than assigning class var directly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 285
diff changeset
    54
!BenchmarkPlatform class methodsFor:'class initialization'!
3e9a0ef23dfd Use #setCurrent: rather than assigning class var directly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 285
diff changeset
    55
3e9a0ef23dfd Use #setCurrent: rather than assigning class var directly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 285
diff changeset
    56
setCurrent: aBenchmarkPlatform
3e9a0ef23dfd Use #setCurrent: rather than assigning class var directly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 285
diff changeset
    57
    Current := aBenchmarkPlatform
3e9a0ef23dfd Use #setCurrent: rather than assigning class var directly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 285
diff changeset
    58
3e9a0ef23dfd Use #setCurrent: rather than assigning class var directly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 285
diff changeset
    59
    "Created: / 30-09-2015 / 06:16:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3e9a0ef23dfd Use #setCurrent: rather than assigning class var directly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 285
diff changeset
    60
! !
3e9a0ef23dfd Use #setCurrent: rather than assigning class var directly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 285
diff changeset
    61
262
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    62
!BenchmarkPlatform methodsFor:'accessing-instruments'!
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    63
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    64
instruments
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    65
    "Return a list of non-intrusive instruments available on this
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    66
     platform."
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    67
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    68
    "`instruments` variable is initialized in #initialize"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    69
    ^ instruments
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    70
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    71
    "Created: / 27-11-2014 / 12:37:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    72
    "Modified (comment): / 27-11-2014 / 13:41:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    73
! !
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    74
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
!BenchmarkPlatform methodsFor:'accessing-performance counters'!
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
millisecondTime
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
    "raise an error: must be redefined in concrete subclass(es)"
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
    ^ self subclassResponsibility
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
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
!BenchmarkPlatform methodsFor:'acessing-streams'!
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
stderr
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
    "raise an error: must be redefined in concrete subclass(es)"
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    ^ self subclassResponsibility
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
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
stdout
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
    "raise an error: must be redefined in concrete subclass(es)"
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
    ^ self subclassResponsibility
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
! !
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
88
7939ec1b572b Added configuration identification into JSON report (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    97
!BenchmarkPlatform methodsFor:'configuration'!
7939ec1b572b Added configuration identification into JSON report (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    98
122
9ad7296fc59a Added machine ID configuration value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
    99
configurationStringMachineId
9ad7296fc59a Added machine ID configuration value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   100
    self subclassResponsibility
9ad7296fc59a Added machine ID configuration value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   101
9ad7296fc59a Added machine ID configuration value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   102
    "Created: / 13-07-2013 / 22:45:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9ad7296fc59a Added machine ID configuration value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   103
!
9ad7296fc59a Added machine ID configuration value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   104
88
7939ec1b572b Added configuration identification into JSON report (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   105
configurationStringOS
283
51f9245f0cb2 Normalized runtime and OS identification strings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 262
diff changeset
   106
    "Return the operating system on which the system is running such as
51f9245f0cb2 Normalized runtime and OS identification strings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 262
diff changeset
   107
     'Linux' or 'Windows XP'"
51f9245f0cb2 Normalized runtime and OS identification strings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 262
diff changeset
   108
51f9245f0cb2 Normalized runtime and OS identification strings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 262
diff changeset
   109
    ^ self subclassResponsibility
88
7939ec1b572b Added configuration identification into JSON report (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   110
7939ec1b572b Added configuration identification into JSON report (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   111
    "Created: / 22-06-2013 / 22:55:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
283
51f9245f0cb2 Normalized runtime and OS identification strings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 262
diff changeset
   112
    "Modified: / 21-09-2015 / 15:36:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
88
7939ec1b572b Added configuration identification into JSON report (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   113
!
7939ec1b572b Added configuration identification into JSON report (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   114
283
51f9245f0cb2 Normalized runtime and OS identification strings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 262
diff changeset
   115
configurationStringRuntime  
51f9245f0cb2 Normalized runtime and OS identification strings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 262
diff changeset
   116
    "Return the runtime identification string, for example
51f9245f0cb2 Normalized runtime and OS identification strings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 262
diff changeset
   117
     'Smalltalk/X 6.2.5 642bit' or 'Pharo 5.0 32bit'."
51f9245f0cb2 Normalized runtime and OS identification strings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 262
diff changeset
   118
51f9245f0cb2 Normalized runtime and OS identification strings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 262
diff changeset
   119
    ^ self subclassResponsibility
88
7939ec1b572b Added configuration identification into JSON report (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   120
7939ec1b572b Added configuration identification into JSON report (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   121
    "Created: / 22-06-2013 / 22:55:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
283
51f9245f0cb2 Normalized runtime and OS identification strings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 262
diff changeset
   122
    "Modified: / 21-09-2015 / 15:38:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
88
7939ec1b572b Added configuration identification into JSON report (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   123
! !
7939ec1b572b Added configuration identification into JSON report (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   124
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
!BenchmarkPlatform methodsFor:'exit'!
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
exit:arg
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
    "raise an error: must be redefined in concrete subclass(es)"
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
    ^ self subclassResponsibility
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
! !
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
262
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   133
!BenchmarkPlatform methodsFor:'initialization'!
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   134
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   135
initialize
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   136
    "Invoked when a new instance is created."
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   137
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   138
    super initialize.
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   139
    instruments := Array 
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   140
                    with: BenchmarkExecutionTimeInstrument new
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   141
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   142
    "Modified (format): / 27-11-2014 / 13:42:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   143
! !
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   144
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
!BenchmarkPlatform methodsFor:'queries'!
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
isHeadless
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
    "raise an error: must be redefined in concrete subclass(es)"
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
    ^ self subclassResponsibility
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
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
isPharo
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
    ^false
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
    "Modified: / 06-06-2013 / 09:40:12 / 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
   157
!
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
isSmalltalkX
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
    ^false
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
    "Modified: / 06-06-2013 / 09:40:20 / 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
   163
! !
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
11
88ec277d733a Added BenchmarkPlatform>>warmUpPre/Post. Pharo compatibility fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   165
!BenchmarkPlatform methodsFor:'running'!
88ec277d733a Added BenchmarkPlatform>>warmUpPre/Post. Pharo compatibility fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   166
88ec277d733a Added BenchmarkPlatform>>warmUpPre/Post. Pharo compatibility fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   167
warmUpPost
88ec277d733a Added BenchmarkPlatform>>warmUpPre/Post. Pharo compatibility fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   168
    "Called after benchmark's warmup"
88ec277d733a Added BenchmarkPlatform>>warmUpPre/Post. Pharo compatibility fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   169
88ec277d733a Added BenchmarkPlatform>>warmUpPre/Post. Pharo compatibility fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   170
    "Created: / 07-06-2013 / 02:09:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
88ec277d733a Added BenchmarkPlatform>>warmUpPre/Post. Pharo compatibility fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   171
!
88ec277d733a Added BenchmarkPlatform>>warmUpPre/Post. Pharo compatibility fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   172
88ec277d733a Added BenchmarkPlatform>>warmUpPre/Post. Pharo compatibility fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   173
warmUpPre
88ec277d733a Added BenchmarkPlatform>>warmUpPre/Post. Pharo compatibility fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   174
    "Called before benchmark's warmup"
88ec277d733a Added BenchmarkPlatform>>warmUpPre/Post. Pharo compatibility fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   175
88ec277d733a Added BenchmarkPlatform>>warmUpPre/Post. Pharo compatibility fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   176
    "Created: / 07-06-2013 / 02:09:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
88ec277d733a Added BenchmarkPlatform>>warmUpPre/Post. Pharo compatibility fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   177
! !
88ec277d733a Added BenchmarkPlatform>>warmUpPre/Post. Pharo compatibility fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   178
9
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
!BenchmarkPlatform 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
   180
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
version_HG
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
    ^ '$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
   184
! !
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185