build-benchmark.xml revision 6:5a1b0714df0e
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
4 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 
6 This code is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License version 2 only, as
8 published by the Free Software Foundation.
9 
10 This code is distributed in the hope that it will be useful, but WITHOUT
11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
13 version 2 for more details (a copy is included in the LICENSE file that
14 accompanied this code).
15 
16 You should have received a copy of the GNU General Public License version
17 2 along with this work; if not, write to the Free Software Foundation,
18 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 
20 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 or visit www.oracle.com if you need additional information or have any
22 questions.
23-->
24<project name="nashorn-benchmarks" default="all" basedir="..">
25
26  <target name="octane-init" depends="jar">
27    <fileset id="octane-set"
28	     dir="${octane-test-sys-prop.test.js.roots}"
29	     excludes="${octane-test-sys-prop.test.js.exclude.list}">
30      <include name="**/*.js"/>
31    </fileset>
32    <pathconvert pathsep=" " property="octane-tests" refid="octane-set"/>
33    <property name="extra-arg" value=""/>
34  </target>
35
36  <!-- box2d -->
37  <target name="box2d-init">
38    <property name="octane-tests" value="${octane-test-sys-prop.test.js.roots}/box2d.js"/>
39  </target>
40
41  <target name="octane-box2d" depends="jar, box2d-init, octane-verbose">
42    <antcall target="run-octane"/>
43  </target>
44
45  <target name="octane-box2d-v8" depends="jar, box2d-init, octane-verbose">
46    <antcall target="run-octane-v8"/>
47  </target>
48
49  <target name="octane-box2d-rhino" depends="jar, box2d-init, octane-verbose">
50    <antcall target="run-octane-rhino"/>
51  </target>
52
53  <!-- code-load -->  
54  <target name="code-load-init">
55    <property name="octane-tests" value="${octane-test-sys-prop.test.js.roots}/code-load.js"/>
56  </target>
57
58  <target name="octane-code-load" depends="jar, code-load-init, octane-verbose">
59    <antcall target="run-octane"/>
60  </target>
61
62  <target name="octane-code-load-v8" depends="jar, code-load-init, octane-verbose">
63    <antcall target="run-octane-v8"/>
64  </target>
65
66  <target name="octane-code-load-rhino" depends="jar, code-load-init, octane-verbose">
67    <antcall target="run-octane-rhino"/>
68  </target>
69
70  <!-- crypto -->
71  <target name="crypto-init">
72    <property name="octane-tests" value="${octane-test-sys-prop.test.js.roots}/crypto.js"/>
73  </target>
74
75  <target name="octane-crypto" depends="jar, crypto-init, octane-verbose">
76    <antcall target="run-octane"/>
77  </target>
78
79  <target name="octane-crypto-v8" depends="jar, crypto-init, octane-verbose">
80    <antcall target="run-octane-v8"/>
81  </target>
82
83  <target name="octane-crypto-rhino" depends="jar, crypto-init, octane-verbose">
84    <antcall target="run-octane-rhino"/>
85  </target>
86
87  <!-- deltablue -->
88  <target name="deltablue-init">
89    <property name="octane-tests" value="${octane-test-sys-prop.test.js.roots}/deltablue.js"/>
90  </target>
91
92  <target name="octane-deltablue" depends="jar, deltablue-init, octane-verbose">
93    <antcall target="run-octane"/>
94  </target>
95
96  <target name="octane-deltablue-v8" depends="jar, deltablue-init, octane-verbose">
97    <antcall target="run-octane-v8"/>
98  </target>
99
100  <target name="octane-deltablue-rhino" depends="jar, deltablue-init, octane-verbose">
101    <antcall target="run-octane-rhino"/>
102  </target>
103
104  <!-- earley-boyer -->
105  <target name="earley-boyer-init">
106    <property name="octane-tests" value="${octane-test-sys-prop.test.js.roots}/earley-boyer.js"/>
107  </target>
108
109  <target name="octane-earley-boyer" depends="jar, earley-boyer-init, octane-verbose">
110    <antcall target="run-octane"/>
111  </target>
112
113  <target name="octane-earley-boyer-v8" depends="jar, earley-boyer-init, octane-verbose">
114    <antcall target="run-octane-v8"/>
115  </target>
116
117  <target name="octane-earley-boyer-rhino" depends="jar, earley-boyer-init, octane-verbose">
118    <antcall target="run-octane-rhino"/>
119  </target>
120
121  <!-- gbemu -->  
122  <target name="gbemu-init">
123    <property name="octane-tests" value="${octane-test-sys-prop.test.js.roots}/gbemu.js"/>
124  </target>
125
126  <target name="octane-gbemu" depends="jar, gbemu-init, octane-verbose">
127    <antcall target="run-octane"/>
128  </target>
129
130  <target name="octane-gbemu-v8" depends="jar, gbemu-init, octane-verbose">
131    <antcall target="run-octane-v8"/>
132  </target>
133
134  <target name="octane-gbemu-rhino" depends="jar, gbemu-init, octane-verbose">
135    <antcall target="run-octane-rhino"/>
136  </target>
137
138  <!-- navier-stokes -->
139  <target name="navier-stokes-init">
140    <property name="octane-tests" value="${octane-test-sys-prop.test.js.roots}/navier-stokes.js"/>
141  </target>
142
143  <target name="octane-navier-stokes" depends="jar, navier-stokes-init, octane-verbose">
144    <antcall target="run-octane"/>
145  </target>
146
147  <target name="octane-navier-stokes-v8" depends="jar, navier-stokes-init, octane-verbose">
148    <antcall target="run-octane-v8"/>
149  </target>
150
151  <target name="octane-navier-stokes-rhino" depends="jar, navier-stokes-init, octane-verbose">
152    <antcall target="run-octane-rhino"/>
153  </target>
154
155  <!-- pdfjs -->  
156  <target name="pdfjs-init">
157    <property name="octane-tests" value="${octane-test-sys-prop.test.js.roots}/pdfjs.js"/>
158  </target>
159
160  <target name="octane-pdfjs" depends="jar, pdfjs-init, octane-verbose">
161    <antcall target="run-octane"/>
162  </target>
163
164  <target name="octane-pdfjs-v8" depends="jar, pdfjs-init, octane-verbose">
165    <antcall target="run-octane-v8"/>
166  </target>
167
168  <target name="octane-pdfjs-rhino" depends="jar, pdfjs-init, octane-verbose">
169    <antcall target="run-octane-rhino"/>
170  </target>
171
172  <!-- raytrace -->
173  <target name="raytrace-init">
174    <property name="octane-tests" value="${octane-test-sys-prop.test.js.roots}/raytrace.js"/>
175  </target>
176
177  <target name="octane-raytrace" depends="jar, raytrace-init, octane-verbose">
178    <antcall target="run-octane"/>
179  </target>
180
181  <target name="octane-raytrace-v8" depends="jar, raytrace-init, octane-verbose">
182    <antcall target="run-octane-v8"/>
183  </target>
184
185  <target name="octane-raytrace-rhino" depends="jar, raytrace-init, octane-verbose">
186    <antcall target="run-octane-rhino"/>
187  </target>
188
189  <!-- regexp -->
190  <target name="regexp-init">
191    <property name="octane-tests" value="${octane-test-sys-prop.test.js.roots}/regexp.js"/>
192  </target>
193
194  <target name="octane-regexp" depends="jar, regexp-init, octane-verbose">
195    <antcall target="run-octane"/>
196  </target>
197
198  <target name="octane-regexp-octane-v8" depends="jar, regexp-init, octane-verbose">
199    <antcall target="run-octane-v8"/>
200  </target>
201
202  <target name="octane-regexp-rhino" depends="jar, regexp-init, octane-verbose">
203    <antcall target="run-octane-rhino"/>
204  </target>
205
206
207  <!-- splay -->
208  <target name="splay-init">
209    <property name="octane-tests" value="${octane-test-sys-prop.test.js.roots}/splay.js"/>
210  </target>
211
212  <target name="octane-splay" depends="jar, splay-init, octane-verbose">
213    <antcall target="run-octane"/>
214  </target>
215
216  <target name="octane-splay-v8" depends="jar, splay-init, octane-verbose">
217    <antcall target="run-octane-v8"/>
218  </target>
219
220  <target name="octane-splay-rhino" depends="jar, splay-init, octane-verbose">
221    <antcall target="run-octane-rhino"/>
222  </target>
223
224  <target name="octane-verbose">
225    <property name="extra-arg" value="--verbose"/>
226  </target>
227
228  <!-- run octane benchmarks using Nashorn as runtime -->
229  <target name="octane" depends="octane-init">
230    <antcall target="run-octane"/>
231  </target>
232
233  <!-- run octane benchmarks using octane as runtime -->
234  <target name="octane-v8" depends="octane-init">
235    <antcall target="run-octane-v8"/>
236  </target>
237
238  <!-- run octane benchmarks using Rhino as runtime -->
239  <target name="octane-rhino" depends="octane-init">
240    <antcall target="run-octane-rhino"/>
241  </target>
242  
243  <target name="run-octane">
244    <java classname="${nashorn.shell.tool}"
245          classpath="${run.test.classpath}"
246          fork="true"
247          dir=".">
248      <jvmarg line="${boot.class.path}"/>
249      <jvmarg line="${ext.class.path}"/>
250      <jvmarg line="${run.test.jvmargs.octane}"/>
251      <arg value="${octane-test-sys-prop.test.js.framework}"/>
252      <arg value="--"/>
253      <arg value="${octane-tests}"/>
254      <arg value="--runtime"/>
255      <arg value="Nashorn"/>
256      <arg value="--verbose"/>
257      <arg value="--iterations 8"/>
258      <arg value="${extra-arg}"/>
259    </java>
260  </target>
261
262  <target name="run-octane-v8">
263    <exec executable="${v8.shell}">
264      <arg value="${octane-test-sys-prop.test.js.framework}"/>
265      <arg value="--"/>
266      <arg value="${octane-tests}"/>      
267      <arg value="--runtime"/>
268      <arg value="v8"/>
269      <arg value="--verbose"/>
270      <arg value="--iterations 8"/>
271      <arg value="${extra-arg}"/>
272    </exec>
273  </target>
274
275  <target name="run-octane-rhino">
276    <java jar="${rhino.jar}"
277          classpath="${run.test.classpath}"
278          fork="true"
279          dir=".">
280      <jvmarg line="${boot.class.path}"/>
281      <jvmarg line="${run.test.jvmargs.octane}"/>
282      <arg value="${octane-test-sys-prop.test.js.framework}"/>
283      <arg value="${octane-tests}"/>
284      <arg value="--runtime"/>
285      <arg value="Rhino"/>
286      <arg value="--verbose"/>
287      <arg value="--iterations 8"/>
288      <arg value="${extra-arg}"/>
289    </java>
290  </target>
291
292  <!-- run octane with all known runtimes for comparison -->
293  <target name="octane-all" depends="octane, octane-v8, octane-rhino">
294    <exec executable="${v8.shell}">
295      <arg value="${octane-test-sys-prop.test.js.framework}"/>
296      <arg value="${octane-tests}/"/>
297    </exec>
298  </target>
299   
300  <target name="sunspider-init" depends="jar">
301    <fileset id="sunspider-set"
302	     dir="${sunspider-test-sys-prop.test.js.roots}"
303	     excludes="${sunspider-test-sys-prop.test.js.exclude.list}">
304      <include name="**/*.js"/>
305    </fileset>
306    <pathconvert pathsep=" " property="sunspider-tests" refid="sunspider-set"/>
307  </target>
308
309  <!-- run sunspider with Nashorn -->
310  <target name="sunspider" depends="sunspider-init">
311    <java classname="${nashorn.shell.tool}"
312          classpath="${run.test.classpath}"
313          fork="true"
314          dir=".">
315      <jvmarg line="${boot.class.path}"/>
316      <jvmarg line="${ext.class.path}"/>
317      <jvmarg line="${run.test.jvmargs}"/>
318      <arg value="-timezone=PST"/>
319      <arg value="--class-cache-size=50"/>
320      <arg value="${sunspider-test-sys-prop.test.js.framework}"/>
321      <arg value="--"/>
322      <arg value="${sunspider-tests}/"/>
323    </java>
324  </target>
325
326  <!-- run sunspider with v8 -->
327  <target name="sunspider-v8" depends="sunspider-init">
328    <exec executable="${v8.shell}">
329      <arg value="${sunspider-test-sys-prop.test.js.framework}"/>
330      <arg value="--"/>
331      <arg value="${sunspider-tests}/"/>
332    </exec>
333  </target>
334
335  <!-- run sunspider with Rhino -->
336  <target name="sunspider-rhino" depends="sunspider-init">
337    <java jar="${rhino.jar}"
338          classpath="${run.test.classpath}"
339          fork="true"
340          dir=".">
341      <jvmarg line="${boot.class.path}"/>
342      <jvmarg line="${run.test.jvmargs}"/>
343      <arg value="${sunspider-test-sys-prop.test.js.framework}"/>
344      <arg value="${sunspider-tests}/"/>
345    </java>
346  </target>
347
348</project>
349