aboutsummaryrefslogtreecommitdiff
path: root/benchmarks/2.12/src
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks/2.12/src')
-rw-r--r--benchmarks/2.12/src/adt.scala43
-rw-r--r--benchmarks/2.12/src/kittens/complex.scala28
-rw-r--r--benchmarks/2.12/src/kittens/eq_10.scala18
-rw-r--r--benchmarks/2.12/src/kittens/eq_50.scala63
-rw-r--r--benchmarks/2.12/src/kittens/gadt_100.scala118
-rw-r--r--benchmarks/2.12/src/kittens/obj.scala118
-rw-r--r--benchmarks/2.12/src/kittens/show_10.scala18
-rw-r--r--benchmarks/2.12/src/kittens/show_50.scala63
-rw-r--r--benchmarks/2.12/src/kittens/show_tree_50.scala63
-rw-r--r--benchmarks/2.12/src/kittens/small_100.scala118
-rw-r--r--benchmarks/2.12/src/magnolia/complex.scala24
-rw-r--r--benchmarks/2.12/src/magnolia/eq_10.scala14
-rw-r--r--benchmarks/2.12/src/magnolia/eq_50.scala59
-rw-r--r--benchmarks/2.12/src/magnolia/gadt_100.scala113
-rw-r--r--benchmarks/2.12/src/magnolia/obj.scala114
-rw-r--r--benchmarks/2.12/src/magnolia/show_10.scala14
-rw-r--r--benchmarks/2.12/src/magnolia/show_50.scala58
-rw-r--r--benchmarks/2.12/src/magnolia/show_tree_50.scala58
-rw-r--r--benchmarks/2.12/src/magnolia/small_100.scala113
19 files changed, 1217 insertions, 0 deletions
diff --git a/benchmarks/2.12/src/adt.scala b/benchmarks/2.12/src/adt.scala
new file mode 100644
index 0000000..902d2d8
--- /dev/null
+++ b/benchmarks/2.12/src/adt.scala
@@ -0,0 +1,43 @@
+package adt
+
+sealed trait Tree
+case class Leaf(value: String) extends Tree
+case class Branch(left: Tree, right: Tree) extends Tree
+
+sealed trait GTree[+T]
+case class GLeaf[+T](value: String) extends GTree[T]
+case class GBranch[+T](left: GTree[T], right: GTree[T]) extends GTree[T]
+
+sealed trait Entity
+
+case class Company(name: String) extends Entity
+case class Human(name: String, age: Int) extends Entity
+case class Address(line1: String, occupant: Human)
+
+sealed trait Alphabet
+
+case class Greek(άλφα: Letter, βήτα: Letter, γάμα: Letter, δέλτα: Letter, έψιλον: Letter, ζήτα: Letter, ήτα: Letter, θήτα: Letter) extends Alphabet
+case class Cyrillic(б: Letter, в: Letter, г: Letter, д: Letter, ж: Letter, з: Letter) extends Alphabet
+case class Latin(a: Letter, b: Letter, c: Letter, d: Letter, e: Letter, f: Letter, g: Letter, h: Letter, i: Letter, j: Letter, k: Letter, l: Letter, m: Letter, n: Letter, o: Letter, p: Letter, q: Letter, r: Letter, s: Letter, t: Letter, u: Letter, v: Letter) extends Alphabet
+
+case class Letter(name: String, phonetic: String)
+case class Country(name: String, language: Language, leader: Person, existence: DateRange)
+case class Language(name: String, code: String, alphabet: Alphabet)
+case class Person(name: String, dateOfBirth: Date)
+case class Date(year: Int, month: Month, day: Int)
+
+case class DateRange(from: Date, toDate: Date)
+
+sealed trait Month
+case object Jan extends Month
+case object Feb extends Month
+case object Mar extends Month
+case object Apr extends Month
+case object May extends Month
+case object Jun extends Month
+case object Jul extends Month
+case object Aug extends Month
+case object Sep extends Month
+case object Oct extends Month
+case object Nov extends Month
+case object Dec extends Month
diff --git a/benchmarks/2.12/src/kittens/complex.scala b/benchmarks/2.12/src/kittens/complex.scala
new file mode 100644
index 0000000..70d0d95
--- /dev/null
+++ b/benchmarks/2.12/src/kittens/complex.scala
@@ -0,0 +1,28 @@
+import adt._
+import cats._
+import derived._
+import cats.Show
+import cats.instances.all._
+
+object Gen {
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+ derive.eq[Country]
+}
diff --git a/benchmarks/2.12/src/kittens/eq_10.scala b/benchmarks/2.12/src/kittens/eq_10.scala
new file mode 100644
index 0000000..bed5915
--- /dev/null
+++ b/benchmarks/2.12/src/kittens/eq_10.scala
@@ -0,0 +1,18 @@
+import adt._
+import cats._
+import derived._
+import cats.Eq
+import cats.instances.all._
+
+object Gen {
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+}
diff --git a/benchmarks/2.12/src/kittens/eq_50.scala b/benchmarks/2.12/src/kittens/eq_50.scala
new file mode 100644
index 0000000..cac774d
--- /dev/null
+++ b/benchmarks/2.12/src/kittens/eq_50.scala
@@ -0,0 +1,63 @@
+import adt._
+import cats._
+import derived._
+import cats.Eq
+import cats.instances.all._
+
+object Gen {
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+ derive.eq[Alphabet]
+
+}
diff --git a/benchmarks/2.12/src/kittens/gadt_100.scala b/benchmarks/2.12/src/kittens/gadt_100.scala
new file mode 100644
index 0000000..aa6710d
--- /dev/null
+++ b/benchmarks/2.12/src/kittens/gadt_100.scala
@@ -0,0 +1,118 @@
+import adt._
+import cats._
+import derived._
+import cats.eq
+import cats.instances.all._
+
+object Gen {
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+ derive.eq[GTree[String]]
+
+}
diff --git a/benchmarks/2.12/src/kittens/obj.scala b/benchmarks/2.12/src/kittens/obj.scala
new file mode 100644
index 0000000..c01199e
--- /dev/null
+++ b/benchmarks/2.12/src/kittens/obj.scala
@@ -0,0 +1,118 @@
+import adt._
+import cats._
+import derived._
+import cats.Show
+import cats.instances.all._
+
+object Gen {
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+ derive.show[Jan.type]
+
+}
diff --git a/benchmarks/2.12/src/kittens/show_10.scala b/benchmarks/2.12/src/kittens/show_10.scala
new file mode 100644
index 0000000..5c2a28c
--- /dev/null
+++ b/benchmarks/2.12/src/kittens/show_10.scala
@@ -0,0 +1,18 @@
+import adt._
+import cats._
+import derived._
+import cats.Show
+import cats.instances.all._
+
+object Gen {
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+}
diff --git a/benchmarks/2.12/src/kittens/show_50.scala b/benchmarks/2.12/src/kittens/show_50.scala
new file mode 100644
index 0000000..afd085b
--- /dev/null
+++ b/benchmarks/2.12/src/kittens/show_50.scala
@@ -0,0 +1,63 @@
+import adt._
+import cats._
+import derived._
+import cats.Show
+import cats.instances.all._
+
+object Gen {
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+ derive.show[Alphabet]
+
+}
diff --git a/benchmarks/2.12/src/kittens/show_tree_50.scala b/benchmarks/2.12/src/kittens/show_tree_50.scala
new file mode 100644
index 0000000..18ac6d9
--- /dev/null
+++ b/benchmarks/2.12/src/kittens/show_tree_50.scala
@@ -0,0 +1,63 @@
+import adt._
+import cats._
+import derived._
+import cats.Show
+import cats.instances.all._
+
+object Gen {
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+ derive.show[Tree]
+
+}
diff --git a/benchmarks/2.12/src/kittens/small_100.scala b/benchmarks/2.12/src/kittens/small_100.scala
new file mode 100644
index 0000000..51d922d
--- /dev/null
+++ b/benchmarks/2.12/src/kittens/small_100.scala
@@ -0,0 +1,118 @@
+import adt._
+import cats._
+import derived._
+import cats.Show
+import cats.instances.all._
+
+object Gen {
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+ derive.show[Letter]
+
+}
diff --git a/benchmarks/2.12/src/magnolia/complex.scala b/benchmarks/2.12/src/magnolia/complex.scala
new file mode 100644
index 0000000..f843c29
--- /dev/null
+++ b/benchmarks/2.12/src/magnolia/complex.scala
@@ -0,0 +1,24 @@
+import magnolia._, examples._
+
+object Gen {
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+ Eq.generic[adt.Country]
+}
diff --git a/benchmarks/2.12/src/magnolia/eq_10.scala b/benchmarks/2.12/src/magnolia/eq_10.scala
new file mode 100644
index 0000000..b6adf78
--- /dev/null
+++ b/benchmarks/2.12/src/magnolia/eq_10.scala
@@ -0,0 +1,14 @@
+import magnolia._, examples._
+
+object Gen {
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+}
diff --git a/benchmarks/2.12/src/magnolia/eq_50.scala b/benchmarks/2.12/src/magnolia/eq_50.scala
new file mode 100644
index 0000000..b1dd036
--- /dev/null
+++ b/benchmarks/2.12/src/magnolia/eq_50.scala
@@ -0,0 +1,59 @@
+import magnolia._, examples._
+
+object Gen {
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+ Eq.generic[adt.Alphabet]
+
+}
diff --git a/benchmarks/2.12/src/magnolia/gadt_100.scala b/benchmarks/2.12/src/magnolia/gadt_100.scala
new file mode 100644
index 0000000..e392642
--- /dev/null
+++ b/benchmarks/2.12/src/magnolia/gadt_100.scala
@@ -0,0 +1,113 @@
+import magnolia._, examples._
+
+object Gen {
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+ Eq.generic[adt.GTree[String]]
+}
diff --git a/benchmarks/2.12/src/magnolia/obj.scala b/benchmarks/2.12/src/magnolia/obj.scala
new file mode 100644
index 0000000..0dd82cf
--- /dev/null
+++ b/benchmarks/2.12/src/magnolia/obj.scala
@@ -0,0 +1,114 @@
+import magnolia._, examples._
+
+object Gen {
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+ Show.generic[adt.Jan.type]
+
+}
diff --git a/benchmarks/2.12/src/magnolia/show_10.scala b/benchmarks/2.12/src/magnolia/show_10.scala
new file mode 100644
index 0000000..c6f4a1c
--- /dev/null
+++ b/benchmarks/2.12/src/magnolia/show_10.scala
@@ -0,0 +1,14 @@
+import magnolia._, examples._
+
+object Gen {
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+}
diff --git a/benchmarks/2.12/src/magnolia/show_50.scala b/benchmarks/2.12/src/magnolia/show_50.scala
new file mode 100644
index 0000000..27cfbae
--- /dev/null
+++ b/benchmarks/2.12/src/magnolia/show_50.scala
@@ -0,0 +1,58 @@
+import magnolia._, examples._
+
+object Gen {
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+ Show.generic[adt.Alphabet]
+}
diff --git a/benchmarks/2.12/src/magnolia/show_tree_50.scala b/benchmarks/2.12/src/magnolia/show_tree_50.scala
new file mode 100644
index 0000000..a06513a
--- /dev/null
+++ b/benchmarks/2.12/src/magnolia/show_tree_50.scala
@@ -0,0 +1,58 @@
+import magnolia._, examples._
+
+object Gen {
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+ Show.generic[adt.Tree]
+}
diff --git a/benchmarks/2.12/src/magnolia/small_100.scala b/benchmarks/2.12/src/magnolia/small_100.scala
new file mode 100644
index 0000000..b9eb9ed
--- /dev/null
+++ b/benchmarks/2.12/src/magnolia/small_100.scala
@@ -0,0 +1,113 @@
+import magnolia._, examples._
+
+object Gen {
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+ Show.generic[adt.Letter]
+}