Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/nashorn/make/build-benchmark.xml
32278 views
1
<?xml version="1.0" encoding="UTF-8"?>
2
3
<!--
4
Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
5
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6
7
This code is free software; you can redistribute it and/or modify it
8
under the terms of the GNU General Public License version 2 only, as
9
published by the Free Software Foundation.
10
11
This code is distributed in the hope that it will be useful, but WITHOUT
12
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
version 2 for more details (a copy is included in the LICENSE file that
15
accompanied this code).
16
17
You should have received a copy of the GNU General Public License version
18
2 along with this work; if not, write to the Free Software Foundation,
19
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
21
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
or visit www.oracle.com if you need additional information or have any
23
questions.
24
-->
25
26
27
<project
28
name="nashorn-benchmarks"
29
default="all"
30
basedir=".."
31
xmlns:if="ant:if">
32
33
<!--
34
Below are the octane benchmarks that should be run.
35
The ones that are excluded, as Nashorn currently has
36
some issues with them (functionality or performance)
37
are commented out
38
-->
39
40
<!-- box2d -->
41
<target name="octane-box2d" depends="octane-box2d-nashorn"/>
42
<target name="octane-box2d-nashorn" depends="jar">
43
<run-one cond="octane.benchmark.box2d" runtime="nashorn"/>
44
</target>
45
<target name="octane-box2d-v8" depends="jar">
46
<run-one cond="octane.benchmark.box2d" runtime="v8"/>
47
</target>
48
<target name="octane-box2d-rhino" depends="jar">
49
<run-one cond="octane.benchmark.box2d" runtime="rhino"/>
50
</target>
51
52
<!-- code-load -->
53
<target name="octane-code-load" depends="octane-code-load-nashorn"/>
54
<target name="octane-code-load-nashorn" depends="jar">
55
<run-one cond="octane.benchmark.code-load" runtime="nashorn"/>
56
</target>
57
<target name="octane-code-load-v8" depends="jar">
58
<run-one cond="octane.benchmark.code-load" runtime="v8"/>
59
</target>
60
<target name="octane-code-load-rhino" depends="jar">
61
<run-one cond="octane.benchmark.code-load" runtime="rhino"/>
62
</target>
63
64
<!-- crypto -->
65
<target name="octane-crypto" depends="octane-crypto-nashorn"/>
66
<target name="octane-crypto-nashorn" depends="jar">
67
<run-one cond="octane.benchmark.crypto" runtime="nashorn"/>
68
</target>
69
<target name="octane-crypto-v8" depends="jar">
70
<run-one cond="octane.benchmark.crypto" runtime="v8"/>
71
</target>
72
<target name="octane-crypto-rhino" depends="jar">
73
<run-one cond="octane.benchmark.crypto" runtime="rhino"/>
74
</target>
75
76
<!-- deltablue -->
77
<target name="octane-deltablue" depends="octane-deltablue-nashorn"/>
78
<target name="octane-deltablue-nashorn" depends="jar">
79
<run-one cond="octane.benchmark.deltablue" runtime="nashorn"/>
80
</target>
81
<target name="octane-deltablue-v8" depends="jar">
82
<run-one cond="octane.benchmark.deltablue" runtime="v8"/>
83
</target>
84
<target name="octane-deltablue-rhino" depends="jar">
85
<run-one cond="octane.benchmark.deltablue" runtime="rhino"/>
86
</target>
87
88
<!-- earley-boyer -->
89
<target name="octane-earley-boyer" depends="octane-earley-boyer-nashorn"/>
90
<target name="octane-earley-boyer-nashorn" depends="jar">
91
<run-one cond="octane.benchmark.earley-boyer" runtime="nashorn"/>
92
</target>
93
<target name="octane-earley-boyer-v8" depends="jar">
94
<run-one cond="octane.benchmark.earley-boyer" runtime="v8"/>
95
</target>
96
<target name="octane-earley-boyer-rhino" depends="jar">
97
<run-one cond="octane.benchmark.earley-boyer" runtime="rhino"/>
98
</target>
99
100
<!-- gbemu -->
101
<target name="octane-gbemu" depends="octane-gbemu-nashorn"/>
102
<target name="octane-gbemu-nashorn" depends="jar">
103
<run-one cond="octane.benchmark.gbemu" runtime="nashorn"/>
104
</target>
105
<target name="octane-gbemu-v8" depends="jar">
106
<run-one cond="octane.benchmark.gbemu" runtime="v8"/>
107
</target>
108
<target name="octane-gbemu-rhino" depends="jar">
109
<run-one cond="octane.benchmark.gbemu" runtime="rhino"/>
110
</target>
111
112
<!-- mandreel -->
113
<target name="octane-mandreel" depends="octane-mandreel-nashorn"/>
114
<target name="octane-mandreel-nashorn" depends="jar">
115
<run-one cond="octane.benchmark.mandreel" runtime="nashorn"/>
116
</target>
117
<target name="octane-mandreel-v8" depends="jar">
118
<run-one cond="octane.benchmark.mandreel" runtime="v8"/>
119
</target>
120
<target name="octane-mandreel-rhino" depends="jar">
121
<run-one cond="octane.benchmark.mandreel" runtime="rhino"/>
122
</target>
123
124
<!-- navier-stokes -->
125
<target name="octane-navier-stokes" depends="octane-navier-stokes-nashorn"/>
126
<target name="octane-navier-stokes-nashorn" depends="jar">
127
<run-one cond="octane.benchmark.navier-stokes" runtime="nashorn"/>
128
</target>
129
<target name="octane-navier-stokes-v8" depends="jar">
130
<run-one cond="octane.benchmark.navier-stokes" runtime="v8"/>
131
</target>
132
<target name="octane-navier-stokes-rhino" depends="jar">
133
<run-one cond="octane.benchmark.navier-stokes" runtime="rhino"/>
134
</target>
135
136
<!-- pdfjs -->
137
<target name="octane-pdfjs" depends="octane-pdfjs-nashorn"/>
138
<target name="octane-pdfjs-nashorn" depends="jar">
139
<run-one cond="octane.benchmark.pdfjs" runtime="nashorn"/>
140
</target>
141
<target name="octane-pdfjs-v8" depends="jar">
142
<run-one cond="octane.benchmark.pdfjs" runtime="v8"/>
143
</target>
144
<target name="octane-pdfjs-rhino" depends="jar">
145
<run-one cond="octane.benchmark.pdfjs" runtime="rhino"/>
146
</target>
147
148
<!-- raytrace -->
149
<target name="octane-raytrace" depends="octane-raytrace-nashorn"/>
150
<target name="octane-raytrace-nashorn" depends="jar">
151
<run-one cond="octane.benchmark.raytrace" runtime="nashorn"/>
152
</target>
153
<target name="octane-raytrace-v8" depends="jar">
154
<run-one cond="octane.benchmark.raytrace" runtime="v8"/>
155
</target>
156
<target name="octane-raytrace-rhino" depends="jar">
157
<run-one cond="octane.benchmark.raytrace" runtime="rhino"/>
158
</target>
159
160
<!-- regexp -->
161
<target name="octane-regexp" depends="octane-regexp-nashorn"/>
162
<target name="octane-regexp-nashorn" depends="jar">
163
<run-one cond="octane.benchmark.regexp" runtime="nashorn"/>
164
</target>
165
<target name="octane-regexp-v8" depends="jar">
166
<run-one cond="octane.benchmark.regexp" runtime="v8"/>
167
</target>
168
<target name="octane-regexp-rhino" depends="jar">
169
<run-one cond="octane.benchmark.regexp" runtime="rhino"/>
170
</target>
171
172
<!-- richards -->
173
<target name="octane-richards" depends="octane-richards-nashorn"/>
174
<target name="octane-richards-nashorn" depends="jar">
175
<run-one cond="octane.benchmark.richards" runtime="nashorn"/>
176
</target>
177
<target name="octane-richards-v8" depends="jar">
178
<run-one cond="octane.benchmark.richards" runtime="v8"/>
179
</target>
180
<target name="octane-richards-rhino" depends="jar">
181
<run-one cond="octane.benchmark.richards" runtime="rhino"/>
182
</target>
183
184
<!-- splay -->
185
<target name="octane-splay" depends="octane-splay-nashorn"/>
186
<target name="octane-splay-nashorn" depends="jar">
187
<run-one cond="octane.benchmark.splay" runtime="nashorn"/>
188
</target>
189
<target name="octane-splay-v8" depends="jar">
190
<run-one cond="octane.benchmark.splay" runtime="v8"/>
191
</target>
192
<target name="octane-splay-rhino" depends="jar">
193
<run-one cond="octane.benchmark.splay" runtime="rhino"/>
194
</target>
195
196
<!-- typescript -->
197
<target name="octane-typescript" depends="octane-typescript-nashorn"/>
198
<target name="octane-typescript-nashorn" depends="jar">
199
<run-one cond="octane.benchmark.typescript" runtime="nashorn"/>
200
</target>
201
<target name="octane-typescript-v8" depends="jar">
202
<run-one cond="octane.benchmark.typescript" runtime="v8"/>
203
</target>
204
<target name="octane-typescript-rhino" depends="jar">
205
<run-one cond="octane.benchmark.typescript" runtime="rhino"/>
206
</target>
207
208
<!-- zlib -->
209
<target name="octane-zlib" depends="octane-zlib-nashorn"/>
210
<target name="octane-zlib-nashorn" depends="jar">
211
<run-one cond="octane.benchmark.zlib" runtime="nashorn"/>
212
</target>
213
<target name="octane-zlib-v8" depends="jar">
214
<run-one cond="octane.benchmark.zlib" runtime="v8"/>
215
</target>
216
<target name="octane-zlib-rhino" depends="jar">
217
<run-one cond="octane.benchmark.zlib" runtime="rhino"/>
218
</target>
219
220
<!--
221
Benchmark runners for one or more benchmarks, single
222
or multiple process
223
-->
224
225
<target name="octane-process-separate" if="${octane-test-sys-prop.separate.process}">
226
<echo message="Running each benchmark in separate processes, starting new JVMs for each."/>
227
<script language="javascript"><![CDATA[
228
var props = [];
229
230
for (var prop in project.getProperties()) {
231
if (prop.startsWith("octane.benchmark.")) {
232
props.push(prop);
233
}
234
}
235
236
//sort benchmark props in alphabetical order by name
237
props.sort(function(a, b) {
238
if (a < b) {
239
return -1;
240
} else if (a > b) {
241
return 1;
242
} else {
243
return 0;
244
}
245
});
246
247
var runtime = project.getProperty("runtime");
248
249
for (var i in props) {
250
var task = project.createTask("run-one");
251
// workaround for https://issues.apache.org/bugzilla/show_bug.cgi?id=53831, still not fixed
252
if (task.getOwningTarget() == null) {
253
task.setOwningTarget(self.getOwningTarget());
254
}
255
var prop = props[i];
256
task.setDynamicAttribute("cond", prop);
257
task.setDynamicAttribute("runtime", runtime);
258
task.perform();
259
}
260
]]></script>
261
</target>
262
263
<target name="octane-process-single" unless="${octane-test-sys-prop.separate.process}">
264
<echo message="Running all benchmarks in the same process."/>
265
<pathconvert property="octane.benchmarks" pathsep=" ">
266
<propertyset>
267
<propertyref prefix="octane.benchmark."/>
268
</propertyset>
269
</pathconvert>
270
<antcall target="run-octane${runtime}">
271
<param name="octane-tests" value="${octane.benchmarks}"/>
272
</antcall>
273
</target>
274
275
<!--
276
run 'octane' in single or separate processes based on config
277
This uses nashorn as the default runtime
278
-->
279
<target name="octane-nashorn" depends="jar">
280
<property name="runtime" value="nashorn"/>
281
<antcall target="octane-process-separate"/>
282
<antcall target="octane-process-single"/>
283
</target>
284
285
<!-- alias for 'octane' -->
286
<target name="octane" depends="octane-nashorn"/>
287
288
<!-- run octane benchmarks using octane as runtime -->
289
<target name="octane-v8" depends="jar">
290
<property name="runtime" value="v8"/>
291
<antcall target="octane-process-separate"/>
292
<antcall target="octane-process-single"/>
293
</target>
294
295
<!-- run octane benchmarks using Rhino as runtime -->
296
<target name="octane-rhino" depends="jar">
297
<property name="runtime" value="rhino"/>
298
<antcall target="octane-process-separate"/>
299
<antcall target="octane-process-single"/>
300
</target>
301
302
<macrodef name="run-one">
303
<attribute name="cond"/>
304
<attribute name="runtime" default=""/>
305
<sequential>
306
<antcall target="run-octane-@{runtime}" if:set="@{cond}">
307
<param name="octane-tests" value="${@{cond}}"/>
308
</antcall>
309
</sequential>
310
</macrodef>
311
312
<target name="run-octane-nashorn">
313
<java classname="${nashorn.shell.tool}"
314
classpath="${run.test.classpath}"
315
fork="true"
316
dir=".">
317
<jvmarg line="${ext.class.path}"/>
318
<jvmarg line="${run.test.jvmargs.octane} -Xms${run.test.xms} -Xmx${run.test.xmx}"/>
319
<!-- pass on all properties prefixed with 'nashorn' to the runtime -->
320
<syspropertyset>
321
<propertyref prefix="nashorn."/>
322
</syspropertyset>
323
<arg value="${octane-test-sys-prop.test.js.framework}"/>
324
<arg value="-scripting"/>
325
<arg value="--"/>
326
<arg value="${octane-tests}"/>
327
<arg value="--runtime"/>
328
<arg value="nashorn"/>
329
<arg value="--verbose"/>
330
<arg value="--iterations ${octane.iterations}"/>
331
</java>
332
</target>
333
334
<target name="run-octane-v8">
335
<exec executable="${v8.shell}">
336
<arg value="${octane-test-sys-prop.test.js.framework}"/>
337
<arg value="--"/>
338
<arg value="${octane-tests}"/>
339
<arg value="--runtime"/>
340
<arg value="v8"/>
341
<arg value="--verbose"/>
342
<arg value="--iterations ${octane.iterations}"/>
343
</exec>
344
</target>
345
346
<target name="run-octane-rhino">
347
<java jar="${rhino.jar}"
348
classpath="${run.test.classpath}"
349
fork="true"
350
dir=".">
351
<jvmarg line="${run.test.jvmargs.octane} -Xms${run.test.xms} -Xmx${run.test.xmx}"/>
352
<arg value="-opt"/>
353
<arg value="9"/>
354
<arg value="${octane-test-sys-prop.test.js.framework}"/>
355
<arg value="${octane-tests}"/>
356
<arg value="--runtime"/>
357
<arg value="rhino"/>
358
<arg value="--verbose"/>
359
<arg value="--iterations ${octane.iterations}"/>
360
</java>
361
</target>
362
363
<!-- run octane with all known runtimes for comparison -->
364
<target name="octane-all" depends="octane, octane-v8, octane-rhino">
365
<exec executable="${v8.shell}">
366
<arg value="${octane-test-sys-prop.test.js.framework}"/>
367
<arg value="${octane-tests}/"/>
368
</exec>
369
</target>
370
371
<target name="sunspider-init" depends="jar">
372
<fileset id="sunspider-set"
373
dir="${sunspider-test-sys-prop.test.js.roots}"
374
excludes="${sunspider-test-sys-prop.test.js.exclude.list}">
375
<include name="**/*.js"/>
376
</fileset>
377
<pathconvert pathsep=" " property="sunspider-tests" refid="sunspider-set"/>
378
</target>
379
380
<!--- SUNSPIDER JOB BELOW -->
381
382
<!-- run sunspider with Nashorn -->
383
<target name="sunspider" depends="sunspider-nashorn"/>
384
385
<target name="sunspider-nashorn" depends="sunspider-init">
386
<java classname="${nashorn.shell.tool}"
387
classpath="${run.test.classpath}"
388
fork="true"
389
dir=".">
390
<jvmarg line="${ext.class.path}"/>
391
<jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/>
392
<arg value="-timezone=PST"/>
393
<arg value="--class-cache-size=50"/>
394
<arg value="${sunspider-test-sys-prop.test.js.framework}"/>
395
<arg value="--"/>
396
<arg value="${sunspider-tests}/"/>
397
<arg value="--verbose"/>
398
<arg value="--times"/>
399
<arg value="${sunspider.iterations}"/>
400
</java>
401
</target>
402
403
<!-- run sunspider with v8 -->
404
<target name="sunspider-v8" depends="sunspider-init">
405
<exec executable="${v8.shell}">
406
<arg value="${sunspider-test-sys-prop.test.js.framework}"/>
407
<arg value="--"/>
408
<arg value="${sunspider-tests}/"/>
409
<arg value="--verbose"/>
410
<arg value="--times"/>
411
<arg value="${sunspider.iterations}"/>
412
</exec>
413
</target>
414
415
<!-- run sunspider with Rhino -->
416
<target name="sunspider-rhino" depends="sunspider-init">
417
<java jar="${rhino.jar}"
418
classpath="${run.test.classpath}"
419
fork="true"
420
dir=".">
421
<jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/>
422
<arg value="-opt"/>
423
<arg value="9"/>
424
<arg value="${sunspider-test-sys-prop.test.js.framework}"/>
425
<arg value="${sunspider-tests}/"/>
426
<arg value="--verbose"/>
427
<arg value="--times"/>
428
<arg value="${sunspider.iterations}"/>
429
</java>
430
</target>
431
432
</project>
433
434