aboutsummaryrefslogblamecommitdiff
path: root/benchmarks/2.12/src/runtime.scala
blob: 6a941634a23e9ed4603f8b63d31371d2b1a8202a (plain) (tree)

































































                                                                
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()
  }
}