summaryrefslogtreecommitdiff
path: root/test/files/bench/equality/eqeq.scala
diff options
context:
space:
mode:
authorAntonio Cunei <antonio.cunei@epfl.ch>2011-11-07 09:55:10 +0000
committerAntonio Cunei <antonio.cunei@epfl.ch>2011-11-07 09:55:10 +0000
commitda929738ccfcf21cc3d8fdb9ce7734e59c6847f0 (patch)
tree90e335ca1fb60fde22ad345df72aeb0f08aace22 /test/files/bench/equality/eqeq.scala
parentc4e1b28cf79f73e4f8972263efb85ee879c39ebd (diff)
downloadscala-da929738ccfcf21cc3d8fdb9ce7734e59c6847f0.tar.gz
scala-da929738ccfcf21cc3d8fdb9ce7734e59c6847f0.tar.bz2
scala-da929738ccfcf21cc3d8fdb9ce7734e59c6847f0.zip
Backport of r25948
Diffstat (limited to 'test/files/bench/equality/eqeq.scala')
-rwxr-xr-xtest/files/bench/equality/eqeq.scala92
1 files changed, 46 insertions, 46 deletions
diff --git a/test/files/bench/equality/eqeq.scala b/test/files/bench/equality/eqeq.scala
index afccece88a..e1fda69c0c 100755
--- a/test/files/bench/equality/eqeq.scala
+++ b/test/files/bench/equality/eqeq.scala
@@ -1,46 +1,46 @@
-/** benchmark for testing equality.
- * Mix: == between non-numbers ith Object.equals as equality: 66%
- * 50% of these are tests where eq is true.
- * == between boxed integers: 17%
- * == between boxed characters: 5%
- * == between boxed bytes: 5%
- * == between boxed longs: 5%
- * == between boxed shorts: < 1%
- * == between boxed floats: < 1%
- * == between boxed doubles: < 1%
- * In all cases 50% of the tests return true.
- */
-object eqeq extends testing.Benchmark {
-
- def eqeqtest[T](creator: Int => T, n: Int): Int = {
- val elems = Array.tabulate[AnyRef](n)(i => creator(i % 2).asInstanceOf[AnyRef])
-
- var sum = 0
- var i = 0
- while (i < n) {
- var j = 0
- while (j < n) {
- if (elems(i) == elems(j)) sum += 1
- j += 1
- }
- i += 1
- }
- sum
- }
-
- val obj1 = new Object
- val obj2 = new Object
-
- def run() {
- var sum = 0
- sum += eqeqtest(x => if (x == 0) obj1 else obj2, 2000)
- sum += eqeqtest(x => x, 1000)
- sum += eqeqtest(x => x.toChar, 550)
- sum += eqeqtest(x => x.toByte, 550)
- sum += eqeqtest(x => x.toLong, 550)
- sum += eqeqtest(x => x.toShort, 100)
- sum += eqeqtest(x => x.toFloat, 100)
- sum += eqeqtest(x => x.toDouble, 100)
- assert(sum == 2968750)
- }
-}
+/** benchmark for testing equality.
+ * Mix: == between non-numbers ith Object.equals as equality: 66%
+ * 50% of these are tests where eq is true.
+ * == between boxed integers: 17%
+ * == between boxed characters: 5%
+ * == between boxed bytes: 5%
+ * == between boxed longs: 5%
+ * == between boxed shorts: < 1%
+ * == between boxed floats: < 1%
+ * == between boxed doubles: < 1%
+ * In all cases 50% of the tests return true.
+ */
+object eqeq extends testing.Benchmark {
+
+ def eqeqtest[T](creator: Int => T, n: Int): Int = {
+ val elems = Array.tabulate[AnyRef](n)(i => creator(i % 2).asInstanceOf[AnyRef])
+
+ var sum = 0
+ var i = 0
+ while (i < n) {
+ var j = 0
+ while (j < n) {
+ if (elems(i) == elems(j)) sum += 1
+ j += 1
+ }
+ i += 1
+ }
+ sum
+ }
+
+ val obj1 = new Object
+ val obj2 = new Object
+
+ def run() {
+ var sum = 0
+ sum += eqeqtest(x => if (x == 0) obj1 else obj2, 2000)
+ sum += eqeqtest(x => x, 1000)
+ sum += eqeqtest(x => x.toChar, 550)
+ sum += eqeqtest(x => x.toByte, 550)
+ sum += eqeqtest(x => x.toLong, 550)
+ sum += eqeqtest(x => x.toShort, 100)
+ sum += eqeqtest(x => x.toFloat, 100)
+ sum += eqeqtest(x => x.toDouble, 100)
+ assert(sum == 2968750)
+ }
+}