diff --git a/bench/Main.hs b/bench/Main.hs
--- a/bench/Main.hs
+++ b/bench/Main.hs
@@ -46,4 +46,5 @@
     , genValidBench @Float
     , genValidBench @Double
     , genValidBench @(Fixed E12)
+    , genValidBench @String
     ]
diff --git a/genvalidity-criterion.cabal b/genvalidity-criterion.cabal
--- a/genvalidity-criterion.cabal
+++ b/genvalidity-criterion.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 55f101899e3757aeae67655460610eadf78922eb5e875e50782dc9f090bf4467
+-- hash: d89b9a832713070f3bd9773ef7f4d8776be89292d63e80c7cbe6444950493145
 
 name:           genvalidity-criterion
-version:        0.0.0.0
+version:        0.1.0.0
 synopsis:       Criterion benchmarks for generators
 category:       Validity
 homepage:       https://github.com/NorfairKing/validity#readme
diff --git a/src/Data/GenValidity/Criterion.hs b/src/Data/GenValidity/Criterion.hs
--- a/src/Data/GenValidity/Criterion.hs
+++ b/src/Data/GenValidity/Criterion.hs
@@ -4,45 +4,58 @@
 
 -- | Benchmarks for generators
 module Data.GenValidity.Criterion
-  ( genValidityBench
-  , genUncheckedBench
-  , genValidBench
-  , genBench
-  ) where
+  ( genValidityBench,
+    genUncheckedBench,
+    genValidBench,
+    genBenchSizes,
+    genBench,
+  )
+where
 
 import Control.DeepSeq
+import Criterion
 import Data.GenValidity
 import Data.Typeable
 import Test.QuickCheck
 
-import Criterion
-
 -- | Benchmarks for both genUnchecked and genValid
 genValidityBench ::
-     forall a. (Typeable a, NFData a, GenUnchecked a, GenValid a)
-  => Benchmark
+  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 = genBench (unwords ["genUnchecked", nameOf @a]) (genUnchecked @a)
+  forall a.
+  (Typeable a, NFData a, GenUnchecked a) =>
+  Benchmark
+genUncheckedBench = genBenchSizes (unwords ["genUnchecked", nameOf @a]) (genUnchecked @a)
 
 -- | Benchmarks for both genValid
 genValidBench ::
-     forall a. (Typeable a, NFData a, GenValid a)
-  => Benchmark
-genValidBench = genBench (unwords ["genValid", nameOf @a]) (genValid @a)
+  forall a.
+  (Typeable a, NFData a, GenValid a) =>
+  Benchmark
+genValidBench = genBenchSizes (unwords ["genValid", nameOf @a]) (genValid @a)
 
+-- | Benchmarks a generator with some default sizes
+genBenchSizes :: NFData a => String -> Gen a -> Benchmark
+genBenchSizes name gen =
+  bgroup name $
+    let bi i = genBench ("size " <> show i) (resize i gen)
+     in [bi 8, bi 16, bi 32, bi 64]
+
 -- | Benchmarks a generator with a given name
 genBench :: NFData a => String -> Gen a -> Benchmark
-genBench name gen = bench name $ nfIO $ generate (resize 30 gen)
+genBench name gen =
+  bench name $ nfIO $ generate gen
 
 nameOf ::
-     forall a. Typeable a
-  => String
+  forall a.
+  Typeable a =>
+  String
 nameOf =
   let s = show $ typeRep (Proxy @a)
    in if ' ' `elem` s
