*WARNING*
Actual code *DOES NOT PASS* tests 3 and above.
It only passes test 1 and 2
- In order to save memory during the test plan, the read durations are
saved in 'compact' form, using compact() to reduce their size and
uncompact() to get their 'original' value (not exactly 'original' as
some precision is lost on the way).
Durations (without compact) are typically uint16_t whereas in compact
form, it is uint8_t, saving 50% of space.
The precision loss (see comment written on top of compact()) is fine
with the code logic.