-
Lennart Kolmodin authored
We use Cabal's PackageDescription as the type to serialize. It is large, has many levels of data types, and also uses enums and strings. It's a good stress test. GenericsBench defines criterion benchmarks for serialization and deserialization. In GenericsBenchTypes we derive the Binary instances. PackageDescription already defines Binary instances for the system installed Binary, but naturally this won't work for the benchmark - we need our own instances that are derived from the code in this library. The data to serialize we get from your .cabal/package/hackage.haskell.org/ directory, it's data from hackage, not autogenerated. GenericsBenchCache makes sure that if we rerun the benchmark we will use the same PackageDescriptions, even if the user has executed 'cabal update' since the last benchmark run.
6ab893a8