genvalidity-criterion 0.2.0.0 → 1.0.0.0
raw patch · 5 files changed
+78/−61 lines, 5 filesdep ~genvalidityPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: genvalidity
API changes (from Hackage documentation)
- Data.GenValidity.Criterion: genUncheckedBench :: forall a. (Typeable a, NFData a, GenUnchecked a) => Benchmark
- Data.GenValidity.Criterion: genValidityBench :: forall a. (Typeable a, NFData a, GenUnchecked a, GenValid a) => Benchmark
Files
- CHANGELOG.md +35/−0
- LICENSE +1/−1
- bench/Main.hs +33/−35
- genvalidity-criterion.cabal +7/−6
- src/Data/GenValidity/Criterion.hs +2/−19
+ CHANGELOG.md view
@@ -0,0 +1,35 @@+# Changelog++## [1.0.0.0] - 2021-11-20++### Changed++* Compatibility with `genvalidity >= 1.0.0.0`++### Removed++* `genValidityBench`+* `genUncheckedBench`++## [0.2.0.0] - 2020-05-05++### Added++* genBenchSized++### Changed++* Benchmarking now happens with sizes 15 and 30 instead of 8,16,32,64.+ The reasoning is that you only need to see if the time stays constant or not, and what the time is for a generator with the default size 30+* Fixed a memory leak by using pure and deterministic generation instead of using IO-based pseudorandom generation.++## [0.1.0.0] - 2020-04-17++### Added++* genBenchSizes++### Changed++* genValidBench, genUncheckedBench and genValidityBench now benchmark with multiple sizes+
LICENSE view
@@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2016-2020 Tom Sydney Kerckhove+Copyright (c) 2016-2021 Tom Sydney Kerckhove Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal
bench/Main.hs view
@@ -1,50 +1,48 @@ {-# LANGUAGE AllowAmbiguousTypes #-}-{-# LANGUAGE TypeApplications #-} {-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TypeApplications #-} module Main where +import Criterion.Main as Criterion import Data.Fixed+import Data.GenValidity.Criterion import Data.Int-import Data.List.NonEmpty (NonEmpty(..))+import Data.List.NonEmpty (NonEmpty (..)) import Data.Ratio import Data.Word import Numeric.Natural -import Criterion.Main as Criterion--import Data.GenValidity.Criterion- main :: IO () main = Criterion.defaultMain- [ genValidBench @()- , genValidBench @Bool- , genValidBench @Ordering- , genValidBench @Char- , genValidBench @Int- , genValidBench @(Int, Int)- , genValidBench @(Int, Int, Int)- , genValidBench @(Int, Int, Int, Int)- , genValidBench @(Maybe Int)- , genValidBench @(Either Int Int)- , genValidBench @[Int]- , genValidBench @[[Int]]- , genValidBench @(NonEmpty Int)- , genValidBench @(NonEmpty (NonEmpty Int))- , genValidBench @(Ratio Int)- , genValidBench @Int8- , genValidBench @Int16- , genValidBench @Int32- , genValidBench @Int64- , genValidBench @Integer- , genValidBench @Word8- , genValidBench @Word16- , genValidBench @Word32- , genValidBench @Word64- , genValidBench @Natural- , genValidBench @Float- , genValidBench @Double- , genValidBench @(Fixed E12)- , genValidBench @String+ [ genValidBench @(),+ genValidBench @Bool,+ genValidBench @Ordering,+ genValidBench @Char,+ genValidBench @Int,+ genValidBench @(Int, Int),+ genValidBench @(Int, Int, Int),+ genValidBench @(Int, Int, Int, Int),+ genValidBench @(Maybe Int),+ genValidBench @(Either Int Int),+ genValidBench @[Int],+ genValidBench @[[Int]],+ genValidBench @(NonEmpty Int),+ genValidBench @(NonEmpty (NonEmpty Int)),+ genValidBench @(Ratio Int),+ genValidBench @Int8,+ genValidBench @Int16,+ genValidBench @Int32,+ genValidBench @Int64,+ genValidBench @Integer,+ genValidBench @Word8,+ genValidBench @Word16,+ genValidBench @Word32,+ genValidBench @Word64,+ genValidBench @Natural,+ genValidBench @Float,+ genValidBench @Double,+ genValidBench @(Fixed E12),+ genValidBench @String ]
genvalidity-criterion.cabal view
@@ -1,23 +1,24 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.33.0.+-- This file has been generated from package.yaml by hpack version 0.34.4. -- -- see: https://github.com/sol/hpack------ hash: bf06b12935147afcc8b9b60b98ab3cbd27de18514ad0da48f1f7819cfc0179eb name: genvalidity-criterion-version: 0.2.0.0+version: 1.0.0.0 synopsis: Criterion benchmarks for generators category: Validity homepage: https://github.com/NorfairKing/validity#readme bug-reports: https://github.com/NorfairKing/validity/issues author: Tom Sydney Kerckhove maintainer: syd@cs-syd.eu-copyright: Copyright: (c) 2018-2020 Tom Sydney Kerckhove+copyright: Copyright: (c) 2016-2021 Tom Sydney Kerckhove license: MIT license-file: LICENSE build-type: Simple+extra-source-files:+ LICENSE+ CHANGELOG.md source-repository head type: git@@ -35,7 +36,7 @@ , base <5 , criterion , deepseq- , genvalidity+ , genvalidity >=1.0 default-language: Haskell2010 benchmark genvalidity-criterion-bench
src/Data/GenValidity/Criterion.hs view
@@ -4,9 +4,7 @@ -- | Benchmarks for generators module Data.GenValidity.Criterion- ( genValidityBench,- genUncheckedBench,- genValidBench,+ ( genValidBench, genBenchSizes, genBench, genBenchSized,@@ -16,24 +14,9 @@ import Control.DeepSeq import Criterion import Data.GenValidity+import Data.Typeable import Test.QuickCheck.Gen import Test.QuickCheck.Random-import Data.Typeable---- | Benchmarks for both genUnchecked and genValid-genValidityBench ::- forall a.- (Typeable a, NFData a, GenUnchecked a, GenValid a) =>- Benchmark-genValidityBench =- bgroup (unwords ["GenValidity", nameOf @a]) [genValidBench @a, genUncheckedBench @a]---- | Benchmarks for both genUnchecked-genUncheckedBench ::- forall a.- (Typeable a, NFData a, GenUnchecked a) =>- Benchmark-genUncheckedBench = genBenchSizes (unwords ["genUnchecked", nameOf @a]) (genUnchecked @a) -- | Benchmarks for both genValid genValidBench ::