build-benchmark.xml revision 561:740b1133f1b6
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 <property name="octane-tests" value="box2d code-load crypto deltablue earley-boyer gbemu navier-stokes pdfjs raytrace regexp richards splay"/> 28 </target> 29 30 <!-- ignore benchmarks where rhino crashes --> 31 <target name="octane-init-rhino" depends="jar"> 32 <property name="octane-tests" value="box2d code-load crypto deltablue earley-boyer gbemu navier-stokes raytrace regexp richards splay"/> 33 </target> 34 35 <!-- box2d --> 36 <target name="octane-box2d" depends="jar"> 37 <antcall target="run-octane"> 38 <param name="octane-tests" value="box2d"/> 39 </antcall> 40 </target> 41 42 <target name="octane-box2d-v8" depends="jar"> 43 <antcall target="run-octane-v8"> 44 <param name="octane-tests" value="box2d"/> 45 </antcall> 46 </target> 47 48 <target name="octane-box2d-rhino" depends="jar"> 49 <antcall target="run-octane-rhino"> 50 <param name="octane-tests" value="box2d"/> 51 </antcall> 52 </target> 53 54 55 <!-- code-load --> 56 <target name="octane-code-load" depends="jar"> 57 <antcall target="run-octane"> 58 <param name="octane-tests" value="code-load"/> 59 </antcall> 60 </target> 61 62 <target name="octane-code-load-v8" depends="jar"> 63 <antcall target="run-octane-v8"> 64 <param name="octane-tests" value="code-load"/> 65 </antcall> 66 </target> 67 68 <target name="octane-code-load-rhino" depends="jar"> 69 <antcall target="run-octane-rhino"> 70 <param name="octane-tests" value="code-load"/> 71 </antcall> 72 </target> 73 74 75 <!-- crypto --> 76 <target name="octane-crypto" depends="jar"> 77 <antcall target="run-octane"> 78 <param name="octane-tests" value="crypto"/> 79 </antcall> 80 </target> 81 82 <target name="octane-crypto-v8" depends="jar"> 83 <antcall target="run-octane-v8"> 84 <param name="octane-tests" value="crypto"/> 85 </antcall> 86 </target> 87 88 <target name="octane-crypto-rhino" depends="jar"> 89 <antcall target="run-octane-rhino"> 90 <param name="octane-tests" value="crypto"/> 91 </antcall> 92 </target> 93 94 95 <!-- deltablue --> 96 <target name="octane-deltablue" depends="jar"> 97 <antcall target="run-octane"> 98 <param name="octane-tests" value="deltablue"/> 99 </antcall> 100 </target> 101 102 <target name="octane-deltablue-v8" depends="jar"> 103 <antcall target="run-octane-v8"> 104 <param name="octane-tests" value="deltablue"/> 105 </antcall> 106 </target> 107 108 <target name="octane-deltablue-rhino" depends="jar"> 109 <antcall target="run-octane-rhino"> 110 <param name="octane-tests" value="deltablue"/> 111 </antcall> 112 </target> 113 114 115 <!-- earley-boyer --> 116 <target name="octane-earley-boyer" depends="jar"> 117 <antcall target="run-octane"> 118 <param name="octane-tests" value="earley-boyer"/> 119 </antcall> 120 </target> 121 122 <target name="octane-earley-boyer-v8" depends="jar"> 123 <antcall target="run-octane-v8"> 124 <param name="octane-tests" value="earley-boyer"/> 125 </antcall> 126 </target> 127 128 <target name="octane-earley-boyer-rhino" depends="jar"> 129 <antcall target="run-octane-rhino"> 130 <param name="octane-tests" value="earley-boyer"/> 131 </antcall> 132 </target> 133 134 135 <!-- gbemu --> 136 <target name="octane-gbemu" depends="jar"> 137 <antcall target="run-octane"> 138 <param name="octane-tests" value="gbemu"/> 139 </antcall> 140 </target> 141 142 <target name="octane-gbemu-v8" depends="jar"> 143 <antcall target="run-octane-v8"> 144 <param name="octane-tests" value="gbemu"/> 145 </antcall> 146 </target> 147 148 <target name="octane-gbemu-rhino" depends="jar"> 149 <antcall target="run-octane-rhino"> 150 <param name="octane-tests" value="gbemu"/> 151 </antcall> 152 </target> 153 154 155 <!-- mandreel --> 156 <target name="octane-mandreel" depends="jar"> 157 <antcall target="run-octane"> 158 <param name="octane-tests" value="mandreel"/> 159 </antcall> 160 </target> 161 162 <target name="octane-mandreel-v8" depends="jar"> 163 <antcall target="run-octane-v8"> 164 <param name="octane-tests" value="mandreel"/> 165 </antcall> 166 </target> 167 168 <target name="octane-mandreel-rhino" depends="jar"> 169 <antcall target="run-octane-rhino"> 170 <param name="octane-tests" value="mandreel"/> 171 </antcall> 172 </target> 173 174 175 <!-- navier-stokes --> 176 <target name="octane-navier-stokes" depends="jar"> 177 <antcall target="run-octane"> 178 <param name="octane-tests" value="navier-stokes"/> 179 </antcall> 180 </target> 181 182 <target name="octane-navier-stokes-v8" depends="jar"> 183 <antcall target="run-octane-v8"> 184 <param name="octane-tests" value="navier-stokes"/> 185 </antcall> 186 </target> 187 188 <target name="octane-navier-stokes-rhino" depends="jar"> 189 <antcall target="run-octane-rhino"> 190 <param name="octane-tests" value="navier-stokes"/> 191 </antcall> 192 </target> 193 194 195 <!-- pdfjs --> 196 <target name="octane-pdfjs" depends="jar"> 197 <antcall target="run-octane"> 198 <param name="octane-tests" value="pdfjs"/> 199 </antcall> 200 </target> 201 202 <target name="octane-pdfjs-v8" depends="jar"> 203 <antcall target="run-octane-v8"> 204 <param name="octane-tests" value="pdfjs"/> 205 </antcall> 206 </target> 207 208 <target name="octane-pdfjs-rhino" depends="jar"> 209 <antcall target="run-octane-rhino"> 210 <param name="octane-tests" value="pdfjs"/> 211 </antcall> 212 </target> 213 214 215 <!-- raytrace --> 216 <target name="octane-raytrace" depends="jar"> 217 <antcall target="run-octane"> 218 <param name="octane-tests" value="raytrace"/> 219 </antcall> 220 </target> 221 222 <target name="octane-raytrace-v8" depends="jar"> 223 <antcall target="run-octane-v8"> 224 <param name="octane-tests" value="raytrace"/> 225 </antcall> 226 </target> 227 228 <target name="octane-raytrace-rhino" depends="jar"> 229 <antcall target="run-octane-rhino"> 230 <param name="octane-tests" value="raytrace"/> 231 </antcall> 232 </target> 233 234 235 <!-- regexp --> 236 <target name="octane-regexp" depends="jar"> 237 <antcall target="run-octane"> 238 <param name="octane-tests" value="regexp"/> 239 </antcall> 240 </target> 241 242 <target name="octane-regexp-octane-v8" depends="jar"> 243 <antcall target="run-octane-v8"> 244 <param name="octane-tests" value="regexp"/> 245 </antcall> 246 </target> 247 248 <target name="octane-regexp-rhino" depends="jar"> 249 <antcall target="run-octane-rhino"> 250 <param name="octane-tests" value="regexp"/> 251 </antcall> 252 </target> 253 254 255 <!-- richards --> 256 <target name="octane-richards" depends="jar"> 257 <antcall target="run-octane"> 258 <param name="octane-tests" value="richards"/> 259 </antcall> 260 </target> 261 262 <target name="octane-richards-v8" depends="jar"> 263 <antcall target="run-octane-v8"> 264 <param name="octane-tests" value="richards"/> 265 </antcall> 266 </target> 267 268 <target name="octane-richards-rhino" depends="jar"> 269 <antcall target="run-octane-rhino"> 270 <param name="octane-tests" value="richards"/> 271 </antcall> 272 </target> 273 274 275 <!-- splay --> 276 <target name="octane-splay" depends="jar"> 277 <antcall target="run-octane"> 278 <param name="octane-tests" value="splay"/> 279 </antcall> 280 </target> 281 282 <target name="octane-splay-v8" depends="jar"> 283 <antcall target="run-octane-v8"> 284 <param name="octane-tests" value="splay"/> 285 </antcall> 286 </target> 287 288 <target name="octane-splay-rhino" depends="jar"> 289 <antcall target="run-octane-rhino"> 290 <param name="octane-tests" value="splay"/> 291 </antcall> 292 </target> 293 294 <!-- run octane benchmarks in a single process --> 295 <target name="octane-single-process" depends="octane-init"> 296 <antcall target="run-octane"/> 297 </target> 298 299 <!-- mandreel excluded due to OOM --> 300 <target name="octane-separate-process" depends= 301 "octane-box2d, octane-code-load, octane-crypto, 302 octane-deltablue, octane-earley-boyer, octane-gbemu, 303 octane-navier-stokes, octane-pdfjs, octane-raytrace, 304 octane-regexp, octane-richards, octane-splay"/> 305 306 <target name="--single-process" unless="${octane-test-sys-prop.separate.process}"> 307 <antcall target="octane-single-process"/> 308 </target> 309 <target name="--separate-process" if="${octane-test-sys-prop.separate.process}"> 310 <antcall target="octane-separate-process"/> 311 </target> 312 313 <!-- run 'octane' in single or separate processes based on config --> 314 <target name="octane" depends="init, --single-process, --separate-process"/> 315 316 <!-- run octane benchmarks using octane as runtime --> 317 <target name="octane-v8" depends="octane-init"> 318 <antcall target="run-octane-v8"/> 319 </target> 320 321 <!-- run octane benchmarks using Rhino as runtime --> 322 <target name="octane-rhino" depends="octane-init-rhino"> 323 <antcall target="run-octane-rhino"/> 324 </target> 325 326 <target name="run-octane"> 327 <java classname="${nashorn.shell.tool}" 328 classpath="${run.test.classpath}" 329 fork="true" 330 dir="."> 331 <jvmarg line="${ext.class.path}"/> 332 <jvmarg line="${run.test.jvmargs.octane} -Xms${run.test.xms} -Xmx${run.test.xmx}"/> 333 <arg value="${octane-test-sys-prop.test.js.framework}"/> 334 <arg value="--"/> 335 <arg value="${octane-tests}"/> 336 <arg value="--runtime"/> 337 <arg value="Nashorn"/> 338 <arg value="--verbose"/> 339 <arg value="--iterations 8"/> 340 </java> 341 </target> 342 343 <target name="run-octane-v8"> 344 <exec executable="${v8.shell}"> 345 <arg value="${octane-test-sys-prop.test.js.framework}"/> 346 <arg value="--"/> 347 <arg value="${octane-tests}"/> 348 <arg value="--runtime"/> 349 <arg value="v8"/> 350 <arg value="--verbose"/> 351 <arg value="--iterations 8"/> 352 </exec> 353 </target> 354 355 <target name="run-octane-rhino"> 356 <java jar="${rhino.jar}" 357 classpath="${run.test.classpath}" 358 fork="true" 359 dir="."> 360 <jvmarg line="${run.test.jvmargs.octane} -Xms${run.test.xms} -Xmx${run.test.xmx}"/> 361 <arg value="${octane-test-sys-prop.test.js.framework}"/> 362 <arg value="${octane-tests}"/> 363 <arg value="--runtime"/> 364 <arg value="Rhino"/> 365 <arg value="--verbose"/> 366 <arg value="--iterations 8"/> 367 </java> 368 </target> 369 370 <!-- run octane with all known runtimes for comparison --> 371 <target name="octane-all" depends="octane, octane-v8, octane-rhino"> 372 <exec executable="${v8.shell}"> 373 <arg value="${octane-test-sys-prop.test.js.framework}"/> 374 <arg value="${octane-tests}/"/> 375 </exec> 376 </target> 377 378 <target name="sunspider-init" depends="jar"> 379 <fileset id="sunspider-set" 380 dir="${sunspider-test-sys-prop.test.js.roots}" 381 excludes="${sunspider-test-sys-prop.test.js.exclude.list}"> 382 <include name="**/*.js"/> 383 </fileset> 384 <pathconvert pathsep=" " property="sunspider-tests" refid="sunspider-set"/> 385 </target> 386 387 <!-- run sunspider with Nashorn --> 388 <target name="sunspider" depends="sunspider-init"> 389 <java classname="${nashorn.shell.tool}" 390 classpath="${run.test.classpath}" 391 fork="true" 392 dir="."> 393 <jvmarg line="${ext.class.path}"/> 394 <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/> 395 <arg value="-timezone=PST"/> 396 <arg value="--class-cache-size=50"/> 397 <arg value="${sunspider-test-sys-prop.test.js.framework}"/> 398 <arg value="--"/> 399 <arg value="${sunspider-tests}/"/> 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 </exec> 410 </target> 411 412 <!-- run sunspider with Rhino --> 413 <target name="sunspider-rhino" depends="sunspider-init"> 414 <java jar="${rhino.jar}" 415 classpath="${run.test.classpath}" 416 fork="true" 417 dir="."> 418 <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/> 419 <arg value="${sunspider-test-sys-prop.test.js.framework}"/> 420 <arg value="${sunspider-tests}/"/> 421 </java> 422 </target> 423 424</project> 425