blob: 22d2107f627920e3e4f922464f8ed5438bf7c2f3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
package scala.collection.parallel.benchmarks.arrays
import scala.collection.parallel.benchmarks._
abstract class Resetting[T: ClassTag](elemcreate: Int => T, sz: Int, p: Int, what: String)
extends Bench {
val size = sz
val parallelism = p
val runWhat = what
var anyarray: Array[Any] = null
var castarray: AnyRef = null
var gencastarray: Array[T] = null
var manifarray: Array[T] = null
reset
def reset = what match {
case "any" =>
anyarray = new Array[Any](sz)
for (i <- 0 until sz) anyarray(i) = elemcreate(i)
case "cast" =>
val arr = new Array[T](sz)
for (i <- 0 until sz) arr(i) = elemcreate(i)
castarray = arr
case "gencast" =>
gencastarray = new Array[T](sz)
for (i <- 0 until sz) gencastarray(i) = elemcreate(i)
case "manif" =>
manifarray = new Array[T](sz)
for (i <- 0 until sz) manifarray(i) = elemcreate(i)
case "unknown" =>
manifarray = new Array[T](sz)
for (i <- 0 until sz) manifarray(i) = elemcreate(i)
case _ =>
}
}
|