aboutsummaryrefslogtreecommitdiff
path: root/benchmarks/2.12/src/runtime.scala
blob: 6a941634a23e9ed4603f8b63d31371d2b1a8202a (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import adt._
import cats._
import derived._
import cats.Show
import cats.instances.all._
import estrapade._
import magnolia._

object Gen extends TestApp {

  val latin = Latin(
    Letter("one", "two"),
    Letter("three", "four"),
    Letter("five", "six"),
    Letter("seven", "eight"),
    Letter("nine", "ten"),
    Letter("eleven", "twelve"),
    Letter("one", "two"),
    Letter("three", "four"),
    Letter("five", "six"),
    Letter("seven", "eight"),
    Letter("nine", "ten"),
    Letter("eleven", "twelve"),
    Letter("one", "two"),
    Letter("three", "four"),
    Letter("five", "six"),
    Letter("seven", "eight"),
    Letter("nine", "ten"),
    Letter("eleven", "twelve"),
    Letter("one", "two"),
    Letter("three", "four"),
    Letter("five", "six"),
    Letter("seven", "eight")
  )

  def tests() = {
    println("Warming up JVM")

    var n = 0
    var s: Any = null
    while (n < 5000000) {
      s = derive.show[Latin] //.show(latin)
      s = magnolia.examples.Show.generic[Latin] //.show(latin)
      n += 1
    }

    println("Warm")
    test("Kittens") {
      var n = 0
      var s: Any = null
      while (n < 1000000) {
        s = derive.show[Latin] //.show(latin)
        n += 1
      }
    }.returns()

    test("Magnolia") {
      var n = 0
      var s: Any = null
      while (n < 1000000) {
        s = magnolia.examples.Show.generic[Latin] //.show(latin)
        n += 1
      }
    }.returns()
  }
}