+++ /dev/null
-\r
-/*\r
- * Copyright (c) 1996, 1997 by Doug Bell <dbell@shvn.com>. All Rights Reserved.\r
- * \r
- * Redistribution and use in source and binary forms, with or without\r
- * modification, are permitted provided that the following conditions\r
- * are met:\r
- * 1. Redistributions of source code must retain the above copyright\r
- * notice, this list of conditions and the following disclaimer.\r
- * 2. Redistributions in binary form must reproduce the above copyright\r
- * notice, this list of conditions and the following disclaimer in the\r
- * documentation and/or other materials provided with the distribution.\r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\r
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\r
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
- * SUCH DAMAGE.\r
- */\r
-\r
-\r
-// This file has been hacked to compile without the rest of the\r
-// benchmark code.\r
-\r
-class OperatorBenchmark {\r
-\r
- public int getSampleCount() { return 0; }\r
- public int getSampleMillis() { return 0; }\r
- public boolean go;\r
- public int useint[];\r
- public void startTest () { }\r
- public long finishTest () { return 0; }\r
- public void startTimer (boolean b) { }\r
- public void stopTimer (int a, int b) { }\r
- public void report (String s) { }\r
- public void println (String s) { }\r
-\r
- public int getTestTime () {\r
- return (int) (100 * getSampleCount() * getSampleMillis()) / 1000;\r
- }\r
-\r
- public int getRunningTime () {\r
- return (int) (1.1 * getTestTime());\r
- }\r
-\r
- public long runTest () {\r
- int dummy1 = 0, dummy2 = 0, dummy3 = 0; // occupy implicit index slots\r
- int cnt, ii;\r
- byte b1 = 1, b2 = 2, b3 = 3;\r
- short s1 = 1, s2 = 2, s3 = 3;\r
- int i1 = 1, i2 = 2, i3 = 3;\r
- long l1 = 1, l2 = 2, l3 = 3;\r
- float f1 = 1, f2 = 2, f3 = 3;\r
- double d1 = 1, d2 = 2, d3 = 3;\r
-\r
- startTest();\r
-\r
- println("--- byte operators, local vars");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1++;\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte++");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 += b2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte += byte");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 = (byte) (b2 + b3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte = byte + byte");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 *= b2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte *= byte");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 = (byte) (b2 * b3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte = byte * byte");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 *= 2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte *= 2");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 <<= 1;\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte <<= 1");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 %= b2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte %= byte");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 = (byte) (b2 % b3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte = byte % byte");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 /= b2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte /= byte");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 = (byte) (b2 / b3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte = byte / byte");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 /= 2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte /= 2");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 >>= 1;\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte >>= 1");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 >>= i2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte >>= int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 = (byte) (b2 >> i3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte = byte >> int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 |= b2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte |= byte");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 = (byte) (b2 | b3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte = byte | byte");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 &= b2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte &= byte");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 = (byte) (b2 & b3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte = byte & byte");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 ^= b2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte ^= byte");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- b1 = (byte) (b2 ^ b3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("byte = byte ^ byte");\r
-\r
-\r
- println("--- short operators, local vars");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1++;\r
- stopTimer(cnt, ii);\r
- }\r
- report("short++");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 += s2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("short += short");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 = (short) (s2 + s3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("short = short + short");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 *= s2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("short *= short");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 = (short) (s2 * s3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("short = short * short");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 *= 2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("short *= 2");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 <<= 1;\r
- stopTimer(cnt, ii);\r
- }\r
- report("short <<= 1");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 %= s2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("short %= short");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 = (short) (s2 % s3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("short = short % short");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 /= s2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("short /= short");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 = (short) (s2 / s3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("short = short / short");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 /= 2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("short /= 2");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 >>= 1;\r
- stopTimer(cnt, ii);\r
- }\r
- report("short >>= 1");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 >>= i2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("short >>= int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 = (short) (s2 >> i3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("short = short >> int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 |= s2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("short |= short");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 = (short) (s2 | s3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("short = short | short");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 &= s2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("short &= short");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 = (short) (s2 & s3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("short = short & short");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 ^= s2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("short ^= short");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- s1 = (short) (s2 ^ s3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("short = short ^ short");\r
-\r
-\r
- println("--- int operators, local vars");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1++;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int++");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 += i2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int += int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 = (i2 + i3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("int = int + int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 *= i2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int *= int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 = (i2 * i3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("int = int * int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 *= 2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int *= 2");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 <<= 1;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int <<= 1");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 %= i2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int %= int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 = (i2 % i3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("int = int % int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 /= i2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int /= int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 = (i2 / i3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("int = int / int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 /= 2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int /= 2");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 >>= 1;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int >>= 1");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 >>= i2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int >>= int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 = i2 >> i3;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int = int >> int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 |= i2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int |= int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 = i2 | i3;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int = int | int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 &= i2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int &= int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 = i2 & i3;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int = int & int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 ^= i2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int ^= int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- i1 = i2 ^ i3;\r
- stopTimer(cnt, ii);\r
- }\r
- report("int = int ^ int");\r
-\r
-\r
- println("--- long operators, local vars");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1++;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long++");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 += l2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long += long");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 = (l2 + l3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("long = long + long");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 *= l2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long *= long");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 = (l2 * l3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("long = long * long");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 *= 2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long *= 2");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 <<= 1;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long <<= 1");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 %= l2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long %= long");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 = (l2 % l3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("long = long % long");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 /= l2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long /= long");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 = (l2 / l3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("long = long / long");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 /= 2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long /= 2");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 >>= 1;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long >>= 1");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 >>= i2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long >>= int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 = l2 >> i3;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long = long >> int");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 |= l2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long |= long");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 = l2 | l3;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long = long | long");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 &= l2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long &= long");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 = l2 & l3;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long = long & long");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 ^= l2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long ^= long");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- l1 = l2 ^ l3;\r
- stopTimer(cnt, ii);\r
- }\r
- report("long = long ^ long");\r
-\r
-\r
- println("--- float operators, local vars");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- f1 += f2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("float += float");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- f1 = (float) (f2 + f3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("float = float + float");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- f1 *= f2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("float *= float");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- f1 = (float) (f2 * f3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("float = float * float");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- f1 %= f2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("float %= float");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- f1 = (float) (f2 % f3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("float = float % float");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- f1 /= f2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("float /= float");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- f1 = (float) (f2 / f3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("float = float / float");\r
-\r
-\r
- println("--- double operators, local vars");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- d1 += d2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("double += double");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- d1 = (d2 + d3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("double = double + double");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- d1 *= d2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("double *= double");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- d1 = (d2 * d3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("double = double * double");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- d1 %= d2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("double %= double");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- d1 = (d2 % d3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("double = double % double");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- d1 /= d2;\r
- stopTimer(cnt, ii);\r
- }\r
- report("double /= double");\r
-\r
- for (cnt = getSampleCount(); --cnt >= 0; ) {\r
- startTimer(true);\r
- for (ii = 0; go; ii++)\r
- d1 = (d2 / d3);\r
- stopTimer(cnt, ii);\r
- }\r
- report("double = double / double");\r
-\r
- useint[0] = dummy1; useint[1] = dummy2; useint[2] = dummy3;\r
- return finishTest();\r
- }\r
-} // class OperatorBenchmark\r
-\r
-// EOF\r