Skip to content
  • Lennart Kolmodin's avatar
    Add benchmark for Generic generated Binary instances. · 6ab893a8
    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