criterion-measurement 0.2.2.0 → 0.2.3.0
raw patch · 5 files changed
+19/−38 lines, 5 filesdep ~aesondep ~basedep ~binaryPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: aeson, base, binary, ghc-prim
API changes (from Hackage documentation)
Files
- changelog.md +4/−0
- criterion-measurement.cabal +11/−15
- src/Criterion/Measurement.hs +2/−10
- src/Criterion/Measurement/Types.hs +2/−2
- src/Criterion/Measurement/Types/Internal.hs +0/−11
changelog.md view
@@ -1,3 +1,7 @@+0.2.3.0++* Drop support for pre-8.0 versions of GHC.+ 0.2.2.0 * Supporting building with all AArch64 platforms (not just Linux and macOS).
criterion-measurement.cabal view
@@ -1,5 +1,5 @@ name: criterion-measurement-version: 0.2.2.0+version: 0.2.3.0 synopsis: Criterion measurement functionality and associated types description: Measurement-related functionality extracted from Criterion, with minimal dependencies. The rationale for this is to enable alternative analysis front-ends. homepage: https://github.com/haskell/criterion@@ -13,10 +13,6 @@ extra-source-files: README.md, changelog.md cabal-version: >=1.10 tested-with:- GHC==7.4.2,- GHC==7.6.3,- GHC==7.8.4,- GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.4,@@ -24,9 +20,11 @@ GHC==8.8.4, GHC==8.10.7, GHC==9.0.2,- GHC==9.2.7,- GHC==9.4.5,- GHC==9.6.1+ GHC==9.2.8,+ GHC==9.4.8,+ GHC==9.6.6,+ GHC==9.8.2,+ GHC==9.10.1 flag fast description: compile without optimizations@@ -38,19 +36,17 @@ exposed-modules: Criterion.Measurement Criterion.Measurement.Types Criterion.Measurement.Types.Internal- build-depends: aeson >= 0.8- , base >= 4.5 && < 5+ build-depends: aeson >= 2 && < 2.3+ , base >= 4.9 && < 5 , base-compat >= 0.9- , binary >= 0.5.1.0+ , binary >= 0.8.3.0 , containers , deepseq >= 1.1.0.0- , ghc-prim+ , ghc-prim >= 0.5 , vector >= 0.7.1 default-language: Haskell2010- ghc-options: -Wall -funbox-strict-fields- if impl(ghc >= 6.8)- ghc-options: -fwarn-tabs+ ghc-options: -Wall -funbox-strict-fields -Wtabs if flag(fast) ghc-options: -O0 else
src/Criterion/Measurement.hs view
@@ -37,7 +37,7 @@ import Criterion.Measurement.Types (Benchmarkable(..), Measured(..)) import Control.DeepSeq (NFData(rnf)) import Control.Exception (finally,evaluate)-import Data.Data (Data, Typeable)+import Data.Data (Data) import Data.Int (Int64) import Data.List (unfoldr) import Data.Word (Word64)@@ -49,20 +49,12 @@ #endif import Prelude () import Prelude.Compat-#if MIN_VERSION_base(4,7,0) import System.Mem (performGC, performMinorGC)-# else-import System.Mem (performGC)-#endif import Text.Printf (printf) import qualified Control.Exception as Exc import qualified Data.Vector as V import qualified GHC.Stats as Stats -#if !(MIN_VERSION_base(4,7,0))-foreign import ccall "performGC" performMinorGC :: IO ()-#endif- -- | Statistics about memory usage and the garbage collector. Apart from -- 'gcStatsCurrentBytesUsed' and 'gcStatsCurrentBytesSlop' all are cumulative values since -- the program started.@@ -111,7 +103,7 @@ , gcStatsCpuSeconds :: !Double -- | Total wall clock time elapsed since start , gcStatsWallSeconds :: !Double- } deriving (Eq, Read, Show, Typeable, Data, Generic)+ } deriving (Eq, Read, Show, Data, Generic) -- | Try to get GC statistics, bearing in mind that the GHC runtime -- will throw an exception if statistics collection was not enabled
src/Criterion/Measurement/Types.hs view
@@ -68,7 +68,7 @@ import Criterion.Measurement.Types.Internal (fakeEnvironment, nf', whnf') import Data.Aeson (FromJSON(..), ToJSON(..)) import Data.Binary (Binary(..))-import Data.Data (Data, Typeable)+import Data.Data (Data) import Data.Int (Int64) import Data.Map (Map, fromList) import GHC.Generics (Generic)@@ -146,7 +146,7 @@ , measGcCpuSeconds :: !Double -- ^ __(GC)__ CPU time spent doing garbage collection. Access -- using 'fromDouble'.- } deriving (Eq, Read, Show, Typeable, Data, Generic)+ } deriving (Eq, Read, Show, Data, Generic) instance FromJSON Measured where parseJSON v = do
src/Criterion/Measurement/Types/Internal.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE BangPatterns #-}-{-# LANGUAGE CPP #-} -- Ensure that nf' and whnf' are always optimized, even if -- criterion-measurement is compiled with -O0 or -fprof-auto (see #184).@@ -27,12 +26,7 @@ import Data.Int (Int64) import Control.Exception--#if MIN_VERSION_ghc_prim(0,3,1) import GHC.Types (SPEC(..))-#else-import GHC.Exts (SpecConstrAnnotation(..))-#endif -- | A dummy environment that is passed to functions that create benchmarks -- from environments when no concrete environment is available.@@ -98,8 +92,3 @@ _ <- evaluate (f x) go SPEC (n-1) {-# NOINLINE whnf' #-}--#if !(MIN_VERSION_ghc_prim(0,3,1))-data SPEC = SPEC | SPEC2-{-# ANN type SPEC ForceSpecConstr #-}-#endif