author | Stefan Vogel <sv@exept.de> |
Fri, 17 May 2019 16:56:31 +0200 | |
branch | cvs_MAIN |
changeset 3899 | 3c0aea90b463 |
parent 3188 | d9a3d685c8b9 |
child 3370 | 0d56a220d44c |
permissions | -rw-r--r-- |
3109
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
"{ Package: 'stx:libjava/benchmarks' }" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
Object subclass:#JavaBenchmarkClassReader |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
instanceVariableNames:'booted rt_dot_jar groovy_all_X_Y_dot_jar saxon_A_B_C_D_dot_jar |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
classfiles1 classfiles2 classfiles3' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
classVariableNames:'' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
poolDictionaries:'' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
category:'Benchmarks-Java' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
! |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
12 |
!JavaBenchmarkClassReader class methodsFor:'running'! |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
run |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
^ (BenchmarkSuite class:self) run |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
17 |
"Created: / 10-06-2013 / 21:53:58 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
18 |
! |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
19 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
run: benchmark |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
^ (BenchmarkInstance class:self selector:benchmark) run |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
"Created: / 31-05-2013 / 10:39:53 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
"Modified: / 10-06-2013 / 21:53:44 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
! |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
spy: benchmark |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
^ (BenchmarkInstance class:self selector:benchmark) spy |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
"Created: / 21-05-2014 / 10:57:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
! ! |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
!JavaBenchmarkClassReader methodsFor:'benchmarks'! |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
35 |
benchmarkReadClasses1 |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
<benchmark: 'Read .class files 1'> |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
39 |
Reads set of classes which contains natives. Actually, compiling native proxies |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
40 |
take most of the time |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
100 timesRepeat:[ |
3188
d9a3d685c8b9
Force a garbage collect after each run of classreader benchmark.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3109
diff
changeset
|
44 |
classfiles1 do:[:each | |
3109
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
45 |
JavaClassReader readStream: each readStream |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
46 |
]. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
47 |
] |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
48 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
49 |
"Created: / 21-05-2014 / 14:04:34 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
50 |
"Modified (comment): / 21-05-2014 / 16:31:16 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
51 |
! |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
52 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
53 |
benchmarkReadClasses2 |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
54 |
<benchmark: 'Read .class files 2'> |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
55 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
57 |
Reads set of classes which contains smalltalk extensions. Most of the time is spent |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
58 |
in compiling an installing those extension methods |
3188
d9a3d685c8b9
Force a garbage collect after each run of classreader benchmark.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3109
diff
changeset
|
59 |
" |
3109
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
60 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
61 |
200 timesRepeat:[ |
3188
d9a3d685c8b9
Force a garbage collect after each run of classreader benchmark.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3109
diff
changeset
|
62 |
classfiles2 do:[:each | |
3109
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
JavaClassReader readStream: each readStream |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
64 |
]. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
] |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
"Created: / 21-05-2014 / 16:30:24 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
68 |
! |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
69 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
70 |
benchmarkReadClasses3 |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
71 |
<benchmark: 'Read .class files 3'> |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
72 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
73 |
" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
74 |
Reads set of classes which contain no extensions nor native methods. This is the most |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
75 |
common case |
3188
d9a3d685c8b9
Force a garbage collect after each run of classreader benchmark.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3109
diff
changeset
|
76 |
" |
3109
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
77 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
78 |
200 timesRepeat:[ |
3188
d9a3d685c8b9
Force a garbage collect after each run of classreader benchmark.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3109
diff
changeset
|
79 |
classfiles3 do:[:each | |
3109
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
80 |
JavaClassReader readStream: each readStream |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
81 |
]. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
82 |
] |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
83 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
"Created: / 21-05-2014 / 16:30:31 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
! |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
benchmarkReadGroovyJar |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
88 |
"/ Does not work, contains some classes that requires ant to be loaded, sigh |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
"/ <benchmark: 'Read groovy-all-X.Y.jar'> |
3188
d9a3d685c8b9
Force a garbage collect after each run of classreader benchmark.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3109
diff
changeset
|
90 |
|
3109
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
91 |
JavaVM loadClassesIn:groovy_all_X_Y_dot_jar |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
92 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
"Created: / 21-05-2014 / 11:29:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
! |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
95 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
96 |
benchmarkReadSaxonJar |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
97 |
<benchmark: 'Read saxon-A.B.C.D.jar'> |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
98 |
JavaVM loadClassesIn:saxon_A_B_C_D_dot_jar |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
99 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
100 |
"Created: / 21-05-2014 / 11:40:58 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
101 |
! ! |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
102 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
103 |
!JavaBenchmarkClassReader methodsFor:'running'! |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
104 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
105 |
setUp |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
106 |
<setup> |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
107 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
108 |
| bundle lib archive | |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
109 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
110 |
booted := JavaVM booted. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
111 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
112 |
booted ifTrue:[ |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
113 |
Smalltalk isStandAloneApp ifFalse:[ |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
114 |
Display notNil ifTrue:[ |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
115 |
(Dialog confirm: 'Java has to be rebooted in order to run a JavaClassReader benchmark. Reboot?') ifFalse:[ |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
116 |
AbortOperationRequest raise. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
117 |
self error:'Abort benchmark'. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
118 |
^ self. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
119 |
]. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
120 |
]. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
121 |
]. |
3188
d9a3d685c8b9
Force a garbage collect after each run of classreader benchmark.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3109
diff
changeset
|
122 |
JavaVM reboot. |
d9a3d685c8b9
Force a garbage collect after each run of classreader benchmark.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3109
diff
changeset
|
123 |
] ifFalse:[ |
d9a3d685c8b9
Force a garbage collect after each run of classreader benchmark.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3109
diff
changeset
|
124 |
JavaVM boot. |
3109
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
125 |
]. |
3188
d9a3d685c8b9
Force a garbage collect after each run of classreader benchmark.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3109
diff
changeset
|
126 |
|
3109
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
127 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
128 |
bundle := (Smalltalk at:#'stx_libjava') javaBundle. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
129 |
lib := bundle allLibraries detect:[:each | each name startsWith: 'groovy-all' ] ifNone:[ self error: 'Cannot find Groovy .jar' ]. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
130 |
groovy_all_X_Y_dot_jar := lib classes. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
131 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
132 |
Smalltalk loadPackage: 'stx:libjava/libs'. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
133 |
bundle := (Smalltalk at:#'stx_libjava_libs') javaBundle. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
134 |
lib := bundle allLibraries detect:[:each | each name startsWith: 'saxon' ] ifNone:[ self error: 'Cannot find Saxon .jar' ]. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
135 |
saxon_A_B_C_D_dot_jar := lib classes. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
136 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
137 |
Smalltalk loadPackage: 'stx:libjava/libs'. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
138 |
bundle := Java release javaBundle. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
139 |
lib := bundle allLibraries detect:[:each | each name startsWith: 'rt.jar' ] ifNone:[ self error: 'Cannot find rt.jar' ]. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
140 |
rt_dot_jar := lib classes. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
141 |
|
3188
d9a3d685c8b9
Force a garbage collect after each run of classreader benchmark.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3109
diff
changeset
|
142 |
archive := ZipArchive oldFileNamed: rt_dot_jar. |
3109
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
143 |
classfiles1 := #( |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
144 |
'java/lang/Object.class' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
145 |
'java/lang/String.class' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
146 |
'java/lang/System.class' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
147 |
'java/lang/Class.class' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
148 |
'java/lang/ClassLoader.class' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
149 |
) collect:[:each | archive extract: each ] . |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
150 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
151 |
classfiles2 := #( |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
152 |
'java/util/Map.class' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
153 |
'java/util/List.class' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
154 |
'java/util/Collection.class' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
155 |
) collect:[:each | archive extract: each ]. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
156 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
157 |
classfiles3 := #( |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
158 |
'java/util/Vector.class' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
159 |
'java/util/ArrayList.class' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
160 |
'java/util/HashMap.class' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
161 |
'java/util/HashSet.class' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
162 |
) collect:[:each | archive extract: each ]. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
163 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
164 |
"Created: / 21-05-2014 / 11:24:50 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
165 |
"Modified: / 21-05-2014 / 16:30:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
166 |
! |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
167 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
168 |
tearDown |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
169 |
<teardown> |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
170 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
171 |
booted ifFalse:[ |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
172 |
Java flushAllJavaResources. |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
173 |
]. |
3188
d9a3d685c8b9
Force a garbage collect after each run of classreader benchmark.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3109
diff
changeset
|
174 |
ObjectMemory garbageCollect. |
3109
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
175 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
176 |
"Created: / 21-05-2014 / 11:29:20 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
177 |
! ! |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
178 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
179 |
!JavaBenchmarkClassReader class methodsFor:'documentation'! |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
180 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
181 |
version_HG |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
182 |
|
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
183 |
^ '$Changeset: <not expanded> $' |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
184 |
! ! |
6d8f66f1ff39
[Class reader optimization 1/3]: Added JavaBenchmarkClassReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
185 |