diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,11 @@
+0.1.2.0
+
+* Ensure that `Criterion.Measurement.Types.Internal` is always compiled with
+  optimizations, even if the `criterion-measurement` library itself happens to
+  be built with `-O0` or `-fprof-auto`. This is necessary to ensure that the
+  inner benchmarking loop of criterion always finishes in a timely manner,
+  even if the rest of the library is not fully optimized.
+
 0.1.1.0
 
 * Add `nfAppIO` and `whnfAppIO` functions, which take a function and its
diff --git a/criterion-measurement.cabal b/criterion-measurement.cabal
--- a/criterion-measurement.cabal
+++ b/criterion-measurement.cabal
@@ -1,5 +1,5 @@
 name:                criterion-measurement
-version:             0.1.1.0
+version:             0.1.2.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/bos/criterion
@@ -19,8 +19,9 @@
   GHC==7.10.3,
   GHC==8.0.2,
   GHC==8.2.2,
-  GHC==8.4.3,
-  GHC==8.6.1
+  GHC==8.4.4,
+  GHC==8.6.5,
+  GHC==8.8.1
 
 flag fast
   description: compile without optimizations
diff --git a/src/Criterion/Measurement/Types.hs b/src/Criterion/Measurement/Types.hs
--- a/src/Criterion/Measurement/Types.hs
+++ b/src/Criterion/Measurement/Types.hs
@@ -5,7 +5,7 @@
 {-# OPTIONS_GHC -funbox-strict-fields #-}
 
 -- |
--- Module      : Criterion.Types
+-- Module      : Criterion.Measurement.Types
 -- Copyright   : (c) 2009-2014 Bryan O'Sullivan
 --
 -- License     : BSD-style
diff --git a/src/Criterion/Measurement/Types/Internal.hs b/src/Criterion/Measurement/Types/Internal.hs
--- a/src/Criterion/Measurement/Types/Internal.hs
+++ b/src/Criterion/Measurement/Types/Internal.hs
@@ -1,7 +1,14 @@
 {-# LANGUAGE BangPatterns #-}
+
+-- Ensure that nf' and whnf' are always optimized, even if
+-- criterion-measurement is compiled with -O0 or -fprof-auto (see #184).
+{-# OPTIONS_GHC -O2 -fno-prof-auto #-}
+-- Make the function applications in nf' and whnf' strict (avoiding allocation)
+-- and avoid floating out the computations.
 {-# OPTIONS_GHC -fno-full-laziness #-}
+
 -- |
--- Module      : Criterion.Types.Internal
+-- Module      : Criterion.Measurement.Types.Internal
 -- Copyright   : (c) 2017 Ryan Scott
 --
 -- License     : BSD-style
