File: TraversableIntBenchSize.scala

package info (click to toggle)
scala-pickling 0.10.1%2Brepack-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, forky, sid, trixie
  • size: 9,148 kB
  • sloc: xml: 104; java: 18; makefile: 14
file content (53 lines) | stat: -rw-r--r-- 1,319 bytes parent folder | download
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)
  }
}