author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Wed, 05 Jun 2013 10:45:29 +0100 | |
changeset 6 | 25b264cec44e |
parent 5 | 8669edf62d9b |
child 12 | 3a7ebd3da52f |
permissions | -rw-r--r-- |
1
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
"{ Package: 'jv:calipel/s' }" |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
|
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
BenchmarkReport subclass:#BenchmarkReportText |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
instanceVariableNames:'' |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
classVariableNames:'' |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
poolDictionaries:'' |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
category:'CalipeL/S-Core-Reports' |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
! |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
|
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
|
5
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
11 |
!BenchmarkReportText methodsFor:'formatting'! |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
12 |
|
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
13 |
format: anObject width: width align: align |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
14 |
| string | |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
15 |
|
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
16 |
string := anObject printString. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
17 |
align == #left ifTrue:[ |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
18 |
stream nextPutAll: string. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
19 |
stream next: ((width - string size) max: 0) put: Character space. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
20 |
^self. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
21 |
]. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
22 |
align == #right ifTrue:[ |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
23 |
stream next: ((width - string size) max: 0) put: Character space. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
24 |
stream nextPutAll: string. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
25 |
^self. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
26 |
]. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
27 |
align == #center ifTrue:[ |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
28 |
stream next: (((width - string size) max: 0) / 2 floor) put: Character space. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
29 |
stream nextPutAll: string. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
30 |
stream next: (((width - string size) max: 0) / 2 ceiling) put: Character space. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
31 |
^self. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
32 |
] |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
33 |
|
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
34 |
"Created: / 31-05-2013 / 12:09:32 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
35 |
! ! |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
36 |
|
1
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
!BenchmarkReportText methodsFor:'writing'! |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
|
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
39 |
write |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
40 |
| classes outcomes | |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
|
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
classes := SortedCollection sortBlock:[:a :b|a name < b name]. |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
outcomes := Dictionary new. |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
44 |
result outcomes do:[:each| |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
45 |
(classes includes: each instance class) ifFalse:[ |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
46 |
classes add: each instance class. |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
47 |
]. |
6
25b264cec44e
Added parameter to BenchmarkResult to run each benchmark multiple times.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
48 |
(outcomes at: each instance class ifAbsentPut:[SortedCollection sortBlock:[:a :b|a instance selector < b instance selector]]) |
1
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
49 |
add: each. |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
50 |
]. |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
51 |
|
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
52 |
classes do:[:class| |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
53 |
stream nextPutAll: '== '; nextPutAll: class name; nextPutAll: ' =='; cr. |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
54 |
(outcomes at: class) do:[:outcome| |
6
25b264cec44e
Added parameter to BenchmarkResult to run each benchmark multiple times.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
55 |
self format: outcome instance selector width: 15 align: #right. |
5
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
56 |
stream nextPutAll: ' : '. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
57 |
self format: outcome time width: 5 align: #right. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
58 |
stream nextPutAll: ' [ms]'. |
1
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
59 |
stream cr. |
5
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
60 |
]. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
61 |
]. |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
62 |
stream cr. |
1
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
|
5
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
64 |
"Modified: / 31-05-2013 / 12:11:24 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
! ! |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |
|
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
!BenchmarkReportText class methodsFor:'documentation'! |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
68 |
|
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
69 |
version_HG |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
70 |
|
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
71 |
^ '$Changeset: <not expanded> $' |
5
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
72 |
! |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
73 |
|
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
74 |
version_MC |
8669edf62d9b
Fixes to make it running on Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
75 |
^ 'CalipeL_S-Core-JanVrany.7 5c300a20-c9d7-11e2-a959-606720e43e2c 2013-05-31T10:49:17 JanVrany' |
1
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
76 |
! ! |
1ab204c5442a
BenchmarkInstance refactored, added initial version of text report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
77 |