s/BenchmarkPlatform.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 06 Jun 2013 11:41:19 +0100
changeset 9 e0be46520a59
child 11 88ec277d733a
permissions -rw-r--r--
Split BenchmarkRunner in common and platform-specific code. Addec platform object
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:#BenchmarkPlatform
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
	instanceVariableNames:''
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
	classVariableNames:'Current'
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	poolDictionaries:''
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	category:'CalipeL/S-Core'
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
!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
    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
"
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
 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
    15
 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
    16
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
 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
    18
 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
    19
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
 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
    21
 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
    22
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
 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
    24
 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
    25
 protocol.
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
 (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
    27
  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
    28
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
 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
    30
 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
    31
 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
    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
! !
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
!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
    37
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
current
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
    ^Current
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
    "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
    42
! !
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
!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
    45
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
millisecondTime
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
    "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
    48
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
    ^ self subclassResponsibility
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
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
!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
    53
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
stderr
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
    "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
    56
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
    ^ self subclassResponsibility
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
!
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
stdout
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
    "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
    62
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
    ^ self subclassResponsibility
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
!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
    67
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
exit:arg
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    "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
    70
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    ^ self subclassResponsibility
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
! !
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
!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
    75
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
isHeadless
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
    "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
    78
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
    ^ self subclassResponsibility
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
!
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
isPharo
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
    ^false
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
    "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
    86
!
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
isSmalltalkX
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
    ^false
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
    "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
    92
! !
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
!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
    95
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
version_HG
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
    ^ '$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
    99
! !
e0be46520a59 Split BenchmarkRunner in common and platform-specific code. Addec platform object
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100