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 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
import scala.pickling.testing.PicklingBenchmark
import scala.util.Random
import scala.pickling._
import scala.pickling.Defaults._
import scala.pickling.binary._
import java.io.{ByteArrayInputStream, ByteArrayOutputStream, ObjectOutputStream, ObjectInputStream}
object TraversableIntBenchSize extends scala.pickling.testing.PicklingBenchmark {
override val enableOutput = false
val coll = (1 to size).toVector
override def run() {
val pickle = coll.pickle
println(pickle.value.length)
}
}
object TraversableJavaIntBenchSize extends scala.pickling.testing.PicklingBenchmark {
override val enableOutput = false
val coll = (1 to size).toVector
override def run() {
val bos = new ByteArrayOutputStream()
val out = new ObjectOutputStream(bos)
out.writeObject(coll)
val ba = bos.toByteArray()
println(ba.length)
}
}
object TraversableKryoIntBenchSize extends scala.pickling.testing.PicklingBenchmark {
override val enableOutput = false
var ser: KryoSerializer = _
val coll = (1 to size).toVector
override def tearDown() {
ser = null
}
override def run() {
val rnd: Int = Random.nextInt(10)
val arr = Array.ofDim[Byte](32 * 2048 * 2048 + rnd)
ser = new KryoSerializer
val pickled = ser.toBytes(coll, arr)
println(pickled.length)
}
}
|