s/BenchmarkExecutionTimeInstrument.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 18 Mar 2016 22:41:49 +0000
changeset 312 c9a8fa71d8fc
parent 301 df951cc9a173
permissions -rw-r--r--
Web: Fixed filtering by tags in "Results" page "Results" page not allow for filtering by tags. * If both, configuration and tags are specified, only reports for specified configurations AND with at least one of the specified tags are shown. * If only tags are specified, then all reports on all configurations having at keast one of specified tags are shown. Kudos to Jan Kurs for forcing me to fix this :-)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
262
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'jv:calipel/s' }"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
285
0cf54ee76de5 Normalized Windows OS identification string with Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 262
diff changeset
     3
"{ NameSpace: Smalltalk }"
0cf54ee76de5 Normalized Windows OS identification string with Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 262
diff changeset
     4
262
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
BenchmarkMeasurementInstrument subclass:#BenchmarkExecutionTimeInstrument
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'t0 t1'
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:'MillisecondsTime'
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'CalipeL-S-Core-Measurement'
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
!BenchmarkExecutionTimeInstrument class methodsFor:'documentation'!
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
documentation
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
    The one and only instrument that is guaranteed to be on every platform.
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    It measures time to run a benchmark (real time).
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
    [author:]
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
        Jan Vrany <jan.vrany@fit.cvut.cz>
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
    [instance variables:]
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
    [class variables:]
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    [see also:]
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
! !
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
!BenchmarkExecutionTimeInstrument methodsFor:'accessing'!
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
measurementInstrumentName
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
    "Returns a human-readable name of this instrument"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    ^ 'Execution Time'
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
    "Created: / 01-12-2014 / 02:36:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
!
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
measurementUnit
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
    "Return a string describing a unit of this instrument, i.e., msecs
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
     for time or '1' for plain counters"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
    
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    ^ 'ms'
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
    "Created: / 24-11-2014 / 23:47:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    "Modified: / 25-11-2014 / 01:09:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
! !
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
!BenchmarkExecutionTimeInstrument methodsFor:'measurement'!
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
measurementStart:aBenchmarkInstance 
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
    "superclass BenchmarkMeasurementInstrument says that I am responsible to implement this method"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
    
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
    t0 := BenchmarkPlatform current millisecondTime
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
    "Created: / 24-11-2014 / 08:49:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
    "Modified: / 27-11-2014 / 12:09:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
    "Modified (format): / 01-12-2014 / 02:44:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
!
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
measurementStop:aBenchmarkInstance 
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
    t1 := BenchmarkPlatform current millisecondTime
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    "Created: / 24-11-2014 / 08:49:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    "Modified: / 27-11-2014 / 12:09:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
    "Modified (format): / 01-12-2014 / 02:45:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
!
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
measurementValue
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    ^ t1 - t0
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
    "Created: / 24-11-2014 / 08:49:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
301
df951cc9a173 Added BenchmarkExamplesInstrument and class comments on measurement instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 285
diff changeset
    75
    "Modified (comment): / 22-10-2015 / 08:07:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
262
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
! !
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
!BenchmarkExecutionTimeInstrument methodsFor:'testing'!
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
isExecutionTimeInstrument
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
    ^ true
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
    "Created: / 24-11-2014 / 07:16:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
! !
8d2849dd3227 Added support for (user-defined) benchmark instruments.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85