diff options
author | Jon Pretty <jon.pretty@propensive.com> | 2017-11-30 13:47:15 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-30 13:47:15 +0100 |
commit | c698d7db4b6e89392b8ae399333a89b167db20c7 (patch) | |
tree | bf4a34e519dec8992ded3f92b7ec4acec08c1826 /benchmarks/2.12/src | |
parent | 834af65ed610d6b1b278b5204801306808a90645 (diff) | |
parent | e2191e2687b671d4a8610544251e7e807f2793da (diff) | |
download | magnolia-c698d7db4b6e89392b8ae399333a89b167db20c7.tar.gz magnolia-c698d7db4b6e89392b8ae399333a89b167db20c7.tar.bz2 magnolia-c698d7db4b6e89392b8ae399333a89b167db20c7.zip |
Merge branch 'master' into patch-1
Diffstat (limited to 'benchmarks/2.12/src')
-rw-r--r-- | benchmarks/2.12/src/adt1.scala | 78 | ||||
-rw-r--r-- | benchmarks/2.12/src/magnolia/show_50.scala | 100 | ||||
-rw-r--r-- | benchmarks/2.12/src/scalaz-deriving/show_50.scala | 61 |
3 files changed, 189 insertions, 50 deletions
diff --git a/benchmarks/2.12/src/adt1.scala b/benchmarks/2.12/src/adt1.scala new file mode 100644 index 0000000..f9ab65f --- /dev/null +++ b/benchmarks/2.12/src/adt1.scala @@ -0,0 +1,78 @@ +package adt1 + +import scalaz._ +import Scalaz._ + +// @deriving(Show, Equal) sealed trait Tree +// @deriving(Show, Equal) case class Leaf(value: String) extends Tree +// @deriving(Show, Equal) case class Branch(left: Tree, right: Tree) extends Tree + +// @deriving(Show, Equal) sealed trait GTree[T] +// @deriving(Show, Equal) case class GLeaf[T](value: String) extends GTree[T] +// @deriving(Show, Equal) case class GBranch[T](left: GTree[T], right: GTree[T]) extends GTree[T] + +// @deriving(Show, Equal) sealed trait Entity + +// @deriving(Show, Equal) case class Company(name: String) extends Entity +// @deriving(Show, Equal) case class Human(name: String, age: Int) extends Entity +// @deriving(Show, Equal) case class Address(line1: String, occupant: Human) + +@deriving(Show, Equal) sealed trait Alphabet + +@deriving(Show, Equal) case class Greek(άλφα: Letter, + βήτα: Letter, + γάμα: Letter, + δέλτα: Letter, + έψιλον: Letter, + ζήτα: Letter, + ήτα: Letter, + θήτα: Letter) + extends Alphabet + +@deriving(Show, Equal) case class Cyrillic(б: Letter, в: Letter, г: Letter, д: Letter, ж: Letter, з: Letter) + extends Alphabet + +@deriving(Show, Equal) 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 + +//@deriving(Show, Equal) case class Letter(name: String, phonetic: String) +//@deriving(Show, Equal) case class Country(name: String, language: Language, leader: Person, existence: DateRange) +//@deriving(Show, Equal) case class Language(name: String, code: String, alphabet: Alphabet) +//@deriving(Show, Equal) case class Person(name: String, dateOfBirth: Date) +//@deriving(Show, Equal) case class Date(year: Int, month: Month, day: Int) +//@deriving(Show, Equal) case class DateRange(from: Date, toDate: Date) + +// @deriving(Show, Equal) sealed trait Month +// @deriving(Show, Equal) case object Jan extends Month +// @deriving(Show, Equal) case object Feb extends Month +// @deriving(Show, Equal) case object Mar extends Month +// @deriving(Show, Equal) case object Apr extends Month +// @deriving(Show, Equal) case object May extends Month +// @deriving(Show, Equal) case object Jun extends Month +// @deriving(Show, Equal) case object Jul extends Month +// @deriving(Show, Equal) case object Aug extends Month +// @deriving(Show, Equal) case object Sep extends Month +// @deriving(Show, Equal) case object Oct extends Month +// @deriving(Show, Equal) case object Nov extends Month +// @deriving(Show, Equal) case object Dec extends Month diff --git a/benchmarks/2.12/src/magnolia/show_50.scala b/benchmarks/2.12/src/magnolia/show_50.scala index 27cfbae..df431af 100644 --- a/benchmarks/2.12/src/magnolia/show_50.scala +++ b/benchmarks/2.12/src/magnolia/show_50.scala @@ -1,58 +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.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[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.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[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.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[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.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[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.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] + Show.gen[adt.Alphabet] } diff --git a/benchmarks/2.12/src/scalaz-deriving/show_50.scala b/benchmarks/2.12/src/scalaz-deriving/show_50.scala new file mode 100644 index 0000000..37a00f0 --- /dev/null +++ b/benchmarks/2.12/src/scalaz-deriving/show_50.scala @@ -0,0 +1,61 @@ +import adt1._ + +import scalaz._ +import Scalaz._ + +object Gen { + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] + Show[Alphabet] +} |