Set up time measurement.
criterion measures time using OS-specific APIs whenever possible for
efficiency. On certain operating systems, such as macOS and Windows, one
must explicitly initialize a timer (which initializeTime accomplishes)
before one can actually measure the current time (which getTime
accomplishes).
It is imperative that you call initializeTime before calling getTime.
(See this bug report for an
example of what can happen if you do not do so.) All of the IO-returning
functions in Criterion.Main make sure that this is done, but other
functions (such as those in Criterion.Measurement) do not guarantee this
unless otherwise stated.