diff options
Diffstat (limited to 'benchmarks/2.12/src/runtime.scala')
-rw-r--r-- | benchmarks/2.12/src/runtime.scala | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/benchmarks/2.12/src/runtime.scala b/benchmarks/2.12/src/runtime.scala new file mode 100644 index 0000000..6a94163 --- /dev/null +++ b/benchmarks/2.12/src/runtime.scala @@ -0,0 +1,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() + } +} |