build-benchmark.xml revision 710:c63eb6474c84
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-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 <!-- splay --> 295 <target name="octane-typescript" depends="jar"> 296 <antcall target="run-octane"> 297 <param name="octane-tests" value="typescript"/> 298 </antcall> 299 </target> 300 301 <target name="octane-typescript-v8" depends="jar"> 302 <antcall target="run-octane-v8"> 303 <param name="octane-typescript" value="typescript"/> 304 </antcall> 305 </target> 306 307 <target name="octane-typescript-rhino" depends="jar"> 308 <antcall target="run-octane-rhino"> 309 <param name="octane-tests" value="typescript"/> 310 </antcall> 311 </target> 312 313 <!-- zlib --> 314 <target name="octane-zlib" depends="jar"> 315 <antcall target="run-octane"> 316 <param name="octane-tests" value="zlib"/> 317 </antcall> 318 </target> 319 320 <target name="octane-zlib-v8" depends="jar"> 321 <antcall target="run-octane-v8"> 322 <param name="octane-typescript" value="zlib"/> 323 </antcall> 324 </target> 325 326 <target name="octane-zlib-rhino" depends="jar"> 327 <antcall target="run-octane-rhino"> 328 <param name="octane-tests" value="zlib"/> 329 </antcall> 330 </target> 331 332 <!-- run octane benchmarks in a single process --> 333 <target name="octane-single-process" depends="octane-init"> 334 <antcall target="run-octane"/> 335 </target> 336 337 <!-- zlib excluded due to missing implementation of 'read' --> 338 <target name="octane-separate-process" depends= 339 "octane-box2d, octane-code-load, octane-crypto, 340 octane-deltablue, octane-earley-boyer, octane-gbemu, 341 octane-mandreel, octane-navier-stokes, octane-pdfjs, 342 octane-raytrace, octane-regexp, octane-richards, 343 octane-splay, octane-typescript"/> 344 345 <target name="--single-process" unless="${octane-test-sys-prop.separate.process}"> 346 <antcall target="octane-single-process"/> 347 </target> 348 <target name="--separate-process" if="${octane-test-sys-prop.separate.process}"> 349 <antcall target="octane-separate-process"/> 350 </target> 351 352 <!-- run 'octane' in single or separate processes based on config --> 353 <target name="octane" depends="init, --single-process, --separate-process"/> 354 355 <!-- run octane benchmarks using octane as runtime --> 356 <target name="octane-v8" depends="octane-init"> 357 <antcall target="run-octane-v8"/> 358 </target> 359 360 <!-- run octane benchmarks using Rhino as runtime --> 361 <target name="octane-rhino" depends="octane-init-rhino"> 362 <antcall target="run-octane-rhino"/> 363 </target> 364 365 <target name="run-octane"> 366 <java classname="${nashorn.shell.tool}" 367 classpath="${run.test.classpath}" 368 fork="true" 369 dir="."> 370 <jvmarg line="${ext.class.path}"/> 371 <jvmarg line="${run.test.jvmargs.octane} -Xms${run.test.xms} -Xmx${run.test.xmx}"/> 372 <syspropertyset> 373 <propertyref prefix="nashorn."/> 374 </syspropertyset> 375 <arg value="${octane-test-sys-prop.test.js.framework}"/> 376 <arg value="--"/> 377 <arg value="${octane-tests}"/> 378 <arg value="--runtime"/> 379 <arg value="Nashorn"/> 380 <arg value="--verbose"/> 381 <arg value="--iterations 8"/> 382 </java> 383 </target> 384 385 <target name="run-octane-v8"> 386 <exec executable="${v8.shell}"> 387 <arg value="${octane-test-sys-prop.test.js.framework}"/> 388 <arg value="--"/> 389 <arg value="${octane-tests}"/> 390 <arg value="--runtime"/> 391 <arg value="v8"/> 392 <arg value="--verbose"/> 393 <arg value="--iterations 8"/> 394 </exec> 395 </target> 396 397 <target name="run-octane-rhino"> 398 <java jar="${rhino.jar}" 399 classpath="${run.test.classpath}" 400 fork="true" 401 dir="."> 402 <jvmarg line="${run.test.jvmargs.octane} -Xms${run.test.xms} -Xmx${run.test.xmx}"/> 403 <arg value="${octane-test-sys-prop.test.js.framework}"/> 404 <arg value="${octane-tests}"/> 405 <arg value="--runtime"/> 406 <arg value="Rhino"/> 407 <arg value="--verbose"/> 408 <arg value="--iterations 8"/> 409 </java> 410 </target> 411 412 <!-- run octane with all known runtimes for comparison --> 413 <target name="octane-all" depends="octane, octane-v8, octane-rhino"> 414 <exec executable="${v8.shell}"> 415 <arg value="${octane-test-sys-prop.test.js.framework}"/> 416 <arg value="${octane-tests}/"/> 417 </exec> 418 </target> 419 420 <target name="sunspider-init" depends="jar"> 421 <fileset id="sunspider-set" 422 dir="${sunspider-test-sys-prop.test.js.roots}" 423 excludes="${sunspider-test-sys-prop.test.js.exclude.list}"> 424 <include name="**/*.js"/> 425 </fileset> 426 <pathconvert pathsep=" " property="sunspider-tests" refid="sunspider-set"/> 427 </target> 428 429 <!-- run sunspider with Nashorn --> 430 <target name="sunspider" depends="sunspider-init"> 431 <java classname="${nashorn.shell.tool}" 432 classpath="${run.test.classpath}" 433 fork="true" 434 dir="."> 435 <jvmarg line="${ext.class.path}"/> 436 <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/> 437 <arg value="-timezone=PST"/> 438 <arg value="--class-cache-size=50"/> 439 <arg value="${sunspider-test-sys-prop.test.js.framework}"/> 440 <arg value="--"/> 441 <arg value="${sunspider-tests}/"/> 442 </java> 443 </target> 444 445 <!-- run sunspider with v8 --> 446 <target name="sunspider-v8" depends="sunspider-init"> 447 <exec executable="${v8.shell}"> 448 <arg value="${sunspider-test-sys-prop.test.js.framework}"/> 449 <arg value="--"/> 450 <arg value="${sunspider-tests}/"/> 451 </exec> 452 </target> 453 454 <!-- run sunspider with Rhino --> 455 <target name="sunspider-rhino" depends="sunspider-init"> 456 <java jar="${rhino.jar}" 457 classpath="${run.test.classpath}" 458 fork="true" 459 dir="."> 460 <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/> 461 <arg value="${sunspider-test-sys-prop.test.js.framework}"/> 462 <arg value="${sunspider-tests}/"/> 463 </java> 464 </target> 465 466</project> 467