liveBook · Manning

Measurement bias

As explained in Modern C

Measurement bias is systematic distortion introduced by the act or method of observation.

Timing a loop

Place timespec_get calls before and after a loop, then subtract the timestamps. The calls take time themselves. They may also change how the compiler optimizes the surrounding code and how the operating system schedules it. section 15.3

Measurement bias is distortion introduced by observing a program. A timing call can require register saves, suppress optimizations, trigger a system call, or affect caches. The measured execution may therefore differ from execution without instrumentation. section 15.3

Listing 15.1. Measuring several code snippets repeatedly
53      timespec_get(&t[0], TIME_UTC);
54      /* Volatile for i ensures that the loop is effected */
55      for (uint64_t volatile i = 0; i < iterations; ++i) {
56        /* do nothing */
57      }
58      timespec_get(&t[1], TIME_UTC);
59      /* s must be volatile to ensure that the loop is effected */ 
60      for (uint64_t i = 0; i < iterations; ++i) {
61        s = i;
62      }
63      timespec_get(&t[2], TIME_UTC);
64      /* Opaque computation ensures that the loop is effected */
65      for (uint64_t i = 1; accu0 < upper; i += 2) {
66        accu0 += i;
67      }
68      timespec_get(&t[3], TIME_UTC);
69      /* A function call can usually not be optimized out. */
70      for (uint64_t i = 0; i < iterations; ++i) {
71        timespec_get(&tdummy, TIME_UTC);
72        accu1 += tdummy.tv_nsec;
73      }
74      timespec_get(&t[4], TIME_UTC);
75      /* A function call can usually not be optimized out, but
76         an inline function can. */
77      for (uint64_t i = 0; i < iterations; ++i) {
78        timespec_get(&tdummy, TIME_UTC);
79        stats_collect1(&sdummy[1], tdummy.tv_nsec);
80      }
81      timespec_get(&t[5], TIME_UTC);
82      for (uint64_t i = 0; i < iterations; ++i) {
83        timespec_get(&tdummy, TIME_UTC);
84        stats_collect2(&sdummy[2], tdummy.tv_nsec);
85      }
86      timespec_get(&t[6], TIME_UTC);
87      for (uint64_t i = 0; i < iterations; ++i) {
88        timespec_get(&tdummy, TIME_UTC);
89        stats_collect3(&sdummy[3], tdummy.tv_nsec);
90      }
91      timespec_get(&t[7], TIME_UTC);


!@%STYLE%@!
{"css":"{\"css\": \"font-weight: bold;\"}","target":"[[{\"line\":0,\"ch\":0},{\"line\":0,\"ch\":2}],[{\"line\":0,\"ch\":8},{\"line\":0,\"ch\":20}],[{\"line\":5,\"ch\":8},{\"line\":5,\"ch\":20}],[{\"line\":10,\"ch\":8},{\"line\":10,\"ch\":20}],[{\"line\":15,\"ch\":8},{\"line\":15,\"ch\":20}],[{\"line\":18,\"ch\":10},{\"line\":18,\"ch\":22}],[{\"line\":21,\"ch\":8},{\"line\":21,\"ch\":20}],[{\"line\":25,\"ch\":10},{\"line\":25,\"ch\":22}],[{\"line\":28,\"ch\":8},{\"line\":28,\"ch\":20}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":22}],[{\"line\":33,\"ch\":8},{\"line\":33,\"ch\":20}],[{\"line\":35,\"ch\":10},{\"line\":35,\"ch\":22}],[{\"line\":38,\"ch\":8},{\"line\":38,\"ch\":20}],[{\"line\":0,\"ch\":28},{\"line\":0,\"ch\":36}],[{\"line\":5,\"ch\":28},{\"line\":5,\"ch\":36}],[{\"line\":10,\"ch\":28},{\"line\":10,\"ch\":36}],[{\"line\":15,\"ch\":28},{\"line\":15,\"ch\":36}],[{\"line\":18,\"ch\":32},{\"line\":18,\"ch\":40}],[{\"line\":21,\"ch\":28},{\"line\":21,\"ch\":36}],[{\"line\":25,\"ch\":32},{\"line\":25,\"ch\":40}],[{\"line\":28,\"ch\":28},{\"line\":28,\"ch\":36}],[{\"line\":30,\"ch\":32},{\"line\":30,\"ch\":40}],[{\"line\":33,\"ch\":28},{\"line\":33,\"ch\":36}],[{\"line\":35,\"ch\":32},{\"line\":35,\"ch\":40}],[{\"line\":38,\"ch\":28},{\"line\":38,\"ch\":36}],[{\"line\":1,\"ch\":0},{\"line\":1,\"ch\":2}],[{\"line\":2,\"ch\":0},{\"line\":2,\"ch\":2}],[{\"line\":1,\"ch\":20},{\"line\":1,\"ch\":23}],[{\"line\":2,\"ch\":8},{\"line\":2,\"ch\":11}],[{\"line\":7,\"ch\":8},{\"line\":7,\"ch\":11}],[{\"line\":12,\"ch\":8},{\"line\":12,\"ch\":11}],[{\"line\":17,\"ch\":8},{\"line\":17,\"ch\":11}],[{\"line\":24,\"ch\":8},{\"line\":24,\"ch\":11}],[{\"line\":29,\"ch\":8},{\"line\":29,\"ch\":11}],[{\"line\":34,\"ch\":8},{\"line\":34,\"ch\":11}],[{\"line\":2,\"ch\":13},{\"line\":2,\"ch\":21}],[{\"line\":7,\"ch\":13},{\"line\":7,\"ch\":21}],[{\"line\":12,\"ch\":13},{\"line\":12,\"ch\":21}],[{\"line\":17,\"ch\":13},{\"line\":17,\"ch\":21}],[{\"line\":24,\"ch\":13},{\"line\":24,\"ch\":21}],[{\"line\":29,\"ch\":13},{\"line\":29,\"ch\":21}],[{\"line\":34,\"ch\":13},{\"line\":34,\"ch\":21}],[{\"line\":2,\"ch\":22},{\"line\":2,\"ch\":30}],[{\"line\":6,\"ch\":21},{\"line\":6,\"ch\":29}],[{\"line\":3,\"ch\":0},{\"line\":3,\"ch\":2}],[{\"line\":4,\"ch\":0},{\"line\":4,\"ch\":2}],[{\"line\":5,\"ch\":0},{\"line\":5,\"ch\":2}],[{\"line\":0,\"ch\":8},{\"line\":0,\"ch\":20}],[{\"line\":5,\"ch\":8},{\"line\":5,\"ch\":20}],[{\"line\":10,\"ch\":8},{\"line\":10,\"ch\":20}],[{\"line\":15,\"ch\":8},{\"line\":15,\"ch\":20}],[{\"line\":18,\"ch\":10},{\"line\":18,\"ch\":22}],[{\"line\":21,\"ch\":8},{\"line\":21,\"ch\":20}],[{\"line\":25,\"ch\":10},{\"line\":25,\"ch\":22}],[{\"line\":28,\"ch\":8},{\"line\":28,\"ch\":20}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":22}],[{\"line\":33,\"ch\":8},{\"line\":33,\"ch\":20}],[{\"line\":35,\"ch\":10},{\"line\":35,\"ch\":22}],[{\"line\":38,\"ch\":8},{\"line\":38,\"ch\":20}],[{\"line\":0,\"ch\":28},{\"line\":0,\"ch\":36}],[{\"line\":5,\"ch\":28},{\"line\":5,\"ch\":36}],[{\"line\":10,\"ch\":28},{\"line\":10,\"ch\":36}],[{\"line\":15,\"ch\":28},{\"line\":15,\"ch\":36}],[{\"line\":18,\"ch\":32},{\"line\":18,\"ch\":40}],[{\"line\":21,\"ch\":28},{\"line\":21,\"ch\":36}],[{\"line\":25,\"ch\":32},{\"line\":25,\"ch\":40}],[{\"line\":28,\"ch\":28},{\"line\":28,\"ch\":36}],[{\"line\":30,\"ch\":32},{\"line\":30,\"ch\":40}],[{\"line\":33,\"ch\":28},{\"line\":33,\"ch\":36}],[{\"line\":35,\"ch\":32},{\"line\":35,\"ch\":40}],[{\"line\":38,\"ch\":28},{\"line\":38,\"ch\":36}],[{\"line\":6,\"ch\":0},{\"line\":6,\"ch\":2}],[{\"line\":7,\"ch\":0},{\"line\":7,\"ch\":2}],[{\"line\":1,\"ch\":20},{\"line\":1,\"ch\":23}],[{\"line\":2,\"ch\":8},{\"line\":2,\"ch\":11}],[{\"line\":7,\"ch\":8},{\"line\":7,\"ch\":11}],[{\"line\":12,\"ch\":8},{\"line\":12,\"ch\":11}],[{\"line\":17,\"ch\":8},{\"line\":17,\"ch\":11}],[{\"line\":24,\"ch\":8},{\"line\":24,\"ch\":11}],[{\"line\":29,\"ch\":8},{\"line\":29,\"ch\":11}],[{\"line\":34,\"ch\":8},{\"line\":34,\"ch\":11}],[{\"line\":2,\"ch\":13},{\"line\":2,\"ch\":21}],[{\"line\":7,\"ch\":13},{\"line\":7,\"ch\":21}],[{\"line\":12,\"ch\":13},{\"line\":12,\"ch\":21}],[{\"line\":17,\"ch\":13},{\"line\":17,\"ch\":21}],[{\"line\":24,\"ch\":13},{\"line\":24,\"ch\":21}],[{\"line\":29,\"ch\":13},{\"line\":29,\"ch\":21}],[{\"line\":34,\"ch\":13},{\"line\":34,\"ch\":21}],[{\"line\":8,\"ch\":0},{\"line\":8,\"ch\":2}],[{\"line\":9,\"ch\":0},{\"line\":9,\"ch\":2}],[{\"line\":10,\"ch\":0},{\"line\":10,\"ch\":2}],[{\"line\":0,\"ch\":8},{\"line\":0,\"ch\":20}],[{\"line\":5,\"ch\":8},{\"line\":5,\"ch\":20}],[{\"line\":10,\"ch\":8},{\"line\":10,\"ch\":20}],[{\"line\":15,\"ch\":8},{\"line\":15,\"ch\":20}],[{\"line\":18,\"ch\":10},{\"line\":18,\"ch\":22}],[{\"line\":21,\"ch\":8},{\"line\":21,\"ch\":20}],[{\"line\":25,\"ch\":10},{\"line\":25,\"ch\":22}],[{\"line\":28,\"ch\":8},{\"line\":28,\"ch\":20}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":22}],[{\"line\":33,\"ch\":8},{\"line\":33,\"ch\":20}],[{\"line\":35,\"ch\":10},{\"line\":35,\"ch\":22}],[{\"line\":38,\"ch\":8},{\"line\":38,\"ch\":20}],[{\"line\":0,\"ch\":28},{\"line\":0,\"ch\":36}],[{\"line\":5,\"ch\":28},{\"line\":5,\"ch\":36}],[{\"line\":10,\"ch\":28},{\"line\":10,\"ch\":36}],[{\"line\":15,\"ch\":28},{\"line\":15,\"ch\":36}],[{\"line\":18,\"ch\":32},{\"line\":18,\"ch\":40}],[{\"line\":21,\"ch\":28},{\"line\":21,\"ch\":36}],[{\"line\":25,\"ch\":32},{\"line\":25,\"ch\":40}],[{\"line\":28,\"ch\":28},{\"line\":28,\"ch\":36}],[{\"line\":30,\"ch\":32},{\"line\":30,\"ch\":40}],[{\"line\":33,\"ch\":28},{\"line\":33,\"ch\":36}],[{\"line\":35,\"ch\":32},{\"line\":35,\"ch\":40}],[{\"line\":38,\"ch\":28},{\"line\":38,\"ch\":36}],[{\"line\":2,\"ch\":17},{\"line\":2,\"ch\":19}],[{\"line\":7,\"ch\":17},{\"line\":7,\"ch\":19}],[{\"line\":11,\"ch\":0},{\"line\":11,\"ch\":2}],[{\"line\":12,\"ch\":17},{\"line\":12,\"ch\":19}],[{\"line\":17,\"ch\":17},{\"line\":17,\"ch\":19}],[{\"line\":24,\"ch\":17},{\"line\":24,\"ch\":19}],[{\"line\":29,\"ch\":17},{\"line\":29,\"ch\":19}],[{\"line\":34,\"ch\":17},{\"line\":34,\"ch\":19}],[{\"line\":12,\"ch\":0},{\"line\":12,\"ch\":2}],[{\"line\":1,\"ch\":20},{\"line\":1,\"ch\":23}],[{\"line\":2,\"ch\":8},{\"line\":2,\"ch\":11}],[{\"line\":7,\"ch\":8},{\"line\":7,\"ch\":11}],[{\"line\":12,\"ch\":8},{\"line\":12,\"ch\":11}],[{\"line\":17,\"ch\":8},{\"line\":17,\"ch\":11}],[{\"line\":24,\"ch\":8},{\"line\":24,\"ch\":11}],[{\"line\":29,\"ch\":8},{\"line\":29,\"ch\":11}],[{\"line\":34,\"ch\":8},{\"line\":34,\"ch\":11}],[{\"line\":2,\"ch\":13},{\"line\":2,\"ch\":21}],[{\"line\":7,\"ch\":13},{\"line\":7,\"ch\":21}],[{\"line\":12,\"ch\":13},{\"line\":12,\"ch\":21}],[{\"line\":17,\"ch\":13},{\"line\":17,\"ch\":21}],[{\"line\":24,\"ch\":13},{\"line\":24,\"ch\":21}],[{\"line\":29,\"ch\":13},{\"line\":29,\"ch\":21}],[{\"line\":34,\"ch\":13},{\"line\":34,\"ch\":21}],[{\"line\":13,\"ch\":0},{\"line\":13,\"ch\":2}],[{\"line\":14,\"ch\":0},{\"line\":14,\"ch\":2}],[{\"line\":15,\"ch\":0},{\"line\":15,\"ch\":2}],[{\"line\":0,\"ch\":8},{\"line\":0,\"ch\":20}],[{\"line\":5,\"ch\":8},{\"line\":5,\"ch\":20}],[{\"line\":10,\"ch\":8},{\"line\":10,\"ch\":20}],[{\"line\":15,\"ch\":8},{\"line\":15,\"ch\":20}],[{\"line\":18,\"ch\":10},{\"line\":18,\"ch\":22}],[{\"line\":21,\"ch\":8},{\"line\":21,\"ch\":20}],[{\"line\":25,\"ch\":10},{\"line\":25,\"ch\":22}],[{\"line\":28,\"ch\":8},{\"line\":28,\"ch\":20}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":22}],[{\"line\":33,\"ch\":8},{\"line\":33,\"ch\":20}],[{\"line\":35,\"ch\":10},{\"line\":35,\"ch\":22}],[{\"line\":38,\"ch\":8},{\"line\":38,\"ch\":20}],[{\"line\":0,\"ch\":28},{\"line\":0,\"ch\":36}],[{\"line\":5,\"ch\":28},{\"line\":5,\"ch\":36}],[{\"line\":10,\"ch\":28},{\"line\":10,\"ch\":36}],[{\"line\":15,\"ch\":28},{\"line\":15,\"ch\":36}],[{\"line\":18,\"ch\":32},{\"line\":18,\"ch\":40}],[{\"line\":21,\"ch\":28},{\"line\":21,\"ch\":36}],[{\"line\":25,\"ch\":32},{\"line\":25,\"ch\":40}],[{\"line\":28,\"ch\":28},{\"line\":28,\"ch\":36}],[{\"line\":30,\"ch\":32},{\"line\":30,\"ch\":40}],[{\"line\":33,\"ch\":28},{\"line\":33,\"ch\":36}],[{\"line\":35,\"ch\":32},{\"line\":35,\"ch\":40}],[{\"line\":38,\"ch\":28},{\"line\":38,\"ch\":36}],[{\"line\":16,\"ch\":0},{\"line\":16,\"ch\":2}],[{\"line\":17,\"ch\":0},{\"line\":17,\"ch\":2}],[{\"line\":1,\"ch\":20},{\"line\":1,\"ch\":23}],[{\"line\":2,\"ch\":8},{\"line\":2,\"ch\":11}],[{\"line\":7,\"ch\":8},{\"line\":7,\"ch\":11}],[{\"line\":12,\"ch\":8},{\"line\":12,\"ch\":11}],[{\"line\":17,\"ch\":8},{\"line\":17,\"ch\":11}],[{\"line\":24,\"ch\":8},{\"line\":24,\"ch\":11}],[{\"line\":29,\"ch\":8},{\"line\":29,\"ch\":11}],[{\"line\":34,\"ch\":8},{\"line\":34,\"ch\":11}],[{\"line\":2,\"ch\":13},{\"line\":2,\"ch\":21}],[{\"line\":7,\"ch\":13},{\"line\":7,\"ch\":21}],[{\"line\":12,\"ch\":13},{\"line\":12,\"ch\":21}],[{\"line\":17,\"ch\":13},{\"line\":17,\"ch\":21}],[{\"line\":24,\"ch\":13},{\"line\":24,\"ch\":21}],[{\"line\":29,\"ch\":13},{\"line\":29,\"ch\":21}],[{\"line\":34,\"ch\":13},{\"line\":34,\"ch\":21}],[{\"line\":18,\"ch\":0},{\"line\":18,\"ch\":2}],[{\"line\":0,\"ch\":8},{\"line\":0,\"ch\":20}],[{\"line\":5,\"ch\":8},{\"line\":5,\"ch\":20}],[{\"line\":10,\"ch\":8},{\"line\":10,\"ch\":20}],[{\"line\":15,\"ch\":8},{\"line\":15,\"ch\":20}],[{\"line\":18,\"ch\":10},{\"line\":18,\"ch\":22}],[{\"line\":21,\"ch\":8},{\"line\":21,\"ch\":20}],[{\"line\":25,\"ch\":10},{\"line\":25,\"ch\":22}],[{\"line\":28,\"ch\":8},{\"line\":28,\"ch\":20}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":22}],[{\"line\":33,\"ch\":8},{\"line\":33,\"ch\":20}],[{\"line\":35,\"ch\":10},{\"line\":35,\"ch\":22}],[{\"line\":38,\"ch\":8},{\"line\":38,\"ch\":20}],[{\"line\":0,\"ch\":28},{\"line\":0,\"ch\":36}],[{\"line\":5,\"ch\":28},{\"line\":5,\"ch\":36}],[{\"line\":10,\"ch\":28},{\"line\":10,\"ch\":36}],[{\"line\":15,\"ch\":28},{\"line\":15,\"ch\":36}],[{\"line\":18,\"ch\":32},{\"line\":18,\"ch\":40}],[{\"line\":21,\"ch\":28},{\"line\":21,\"ch\":36}],[{\"line\":25,\"ch\":32},{\"line\":25,\"ch\":40}],[{\"line\":28,\"ch\":28},{\"line\":28,\"ch\":36}],[{\"line\":30,\"ch\":32},{\"line\":30,\"ch\":40}],[{\"line\":33,\"ch\":28},{\"line\":33,\"ch\":36}],[{\"line\":35,\"ch\":32},{\"line\":35,\"ch\":40}],[{\"line\":38,\"ch\":28},{\"line\":38,\"ch\":36}],[{\"line\":19,\"ch\":0},{\"line\":19,\"ch\":2}],[{\"line\":19,\"ch\":26},{\"line\":19,\"ch\":33}],[{\"line\":26,\"ch\":44},{\"line\":26,\"ch\":51}],[{\"line\":31,\"ch\":44},{\"line\":31,\"ch\":51}],[{\"line\":36,\"ch\":44},{\"line\":36,\"ch\":51}],[{\"line\":20,\"ch\":0},{\"line\":20,\"ch\":2}],[{\"line\":21,\"ch\":0},{\"line\":21,\"ch\":2}],[{\"line\":0,\"ch\":8},{\"line\":0,\"ch\":20}],[{\"line\":5,\"ch\":8},{\"line\":5,\"ch\":20}],[{\"line\":10,\"ch\":8},{\"line\":10,\"ch\":20}],[{\"line\":15,\"ch\":8},{\"line\":15,\"ch\":20}],[{\"line\":18,\"ch\":10},{\"line\":18,\"ch\":22}],[{\"line\":21,\"ch\":8},{\"line\":21,\"ch\":20}],[{\"line\":25,\"ch\":10},{\"line\":25,\"ch\":22}],[{\"line\":28,\"ch\":8},{\"line\":28,\"ch\":20}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":22}],[{\"line\":33,\"ch\":8},{\"line\":33,\"ch\":20}],[{\"line\":35,\"ch\":10},{\"line\":35,\"ch\":22}],[{\"line\":38,\"ch\":8},{\"line\":38,\"ch\":20}],[{\"line\":0,\"ch\":28},{\"line\":0,\"ch\":36}],[{\"line\":5,\"ch\":28},{\"line\":5,\"ch\":36}],[{\"line\":10,\"ch\":28},{\"line\":10,\"ch\":36}],[{\"line\":15,\"ch\":28},{\"line\":15,\"ch\":36}],[{\"line\":18,\"ch\":32},{\"line\":18,\"ch\":40}],[{\"line\":21,\"ch\":28},{\"line\":21,\"ch\":36}],[{\"line\":25,\"ch\":32},{\"line\":25,\"ch\":40}],[{\"line\":28,\"ch\":28},{\"line\":28,\"ch\":36}],[{\"line\":30,\"ch\":32},{\"line\":30,\"ch\":40}],[{\"line\":33,\"ch\":28},{\"line\":33,\"ch\":36}],[{\"line\":35,\"ch\":32},{\"line\":35,\"ch\":40}],[{\"line\":38,\"ch\":28},{\"line\":38,\"ch\":36}],[{\"line\":22,\"ch\":0},{\"line\":22,\"ch\":2}],[{\"line\":23,\"ch\":0},{\"line\":23,\"ch\":2}],[{\"line\":24,\"ch\":0},{\"line\":24,\"ch\":2}],[{\"line\":1,\"ch\":20},{\"line\":1,\"ch\":23}],[{\"line\":2,\"ch\":8},{\"line\":2,\"ch\":11}],[{\"line\":7,\"ch\":8},{\"line\":7,\"ch\":11}],[{\"line\":12,\"ch\":8},{\"line\":12,\"ch\":11}],[{\"line\":17,\"ch\":8},{\"line\":17,\"ch\":11}],[{\"line\":24,\"ch\":8},{\"line\":24,\"ch\":11}],[{\"line\":29,\"ch\":8},{\"line\":29,\"ch\":11}],[{\"line\":34,\"ch\":8},{\"line\":34,\"ch\":11}],[{\"line\":2,\"ch\":13},{\"line\":2,\"ch\":21}],[{\"line\":7,\"ch\":13},{\"line\":7,\"ch\":21}],[{\"line\":12,\"ch\":13},{\"line\":12,\"ch\":21}],[{\"line\":17,\"ch\":13},{\"line\":17,\"ch\":21}],[{\"line\":24,\"ch\":13},{\"line\":24,\"ch\":21}],[{\"line\":29,\"ch\":13},{\"line\":29,\"ch\":21}],[{\"line\":34,\"ch\":13},{\"line\":34,\"ch\":21}],[{\"line\":25,\"ch\":0},{\"line\":25,\"ch\":2}],[{\"line\":0,\"ch\":8},{\"line\":0,\"ch\":20}],[{\"line\":5,\"ch\":8},{\"line\":5,\"ch\":20}],[{\"line\":10,\"ch\":8},{\"line\":10,\"ch\":20}],[{\"line\":15,\"ch\":8},{\"line\":15,\"ch\":20}],[{\"line\":18,\"ch\":10},{\"line\":18,\"ch\":22}],[{\"line\":21,\"ch\":8},{\"line\":21,\"ch\":20}],[{\"line\":25,\"ch\":10},{\"line\":25,\"ch\":22}],[{\"line\":28,\"ch\":8},{\"line\":28,\"ch\":20}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":22}],[{\"line\":33,\"ch\":8},{\"line\":33,\"ch\":20}],[{\"line\":35,\"ch\":10},{\"line\":35,\"ch\":22}],[{\"line\":38,\"ch\":8},{\"line\":38,\"ch\":20}],[{\"line\":0,\"ch\":28},{\"line\":0,\"ch\":36}],[{\"line\":5,\"ch\":28},{\"line\":5,\"ch\":36}],[{\"line\":10,\"ch\":28},{\"line\":10,\"ch\":36}],[{\"line\":15,\"ch\":28},{\"line\":15,\"ch\":36}],[{\"line\":18,\"ch\":32},{\"line\":18,\"ch\":40}],[{\"line\":21,\"ch\":28},{\"line\":21,\"ch\":36}],[{\"line\":25,\"ch\":32},{\"line\":25,\"ch\":40}],[{\"line\":28,\"ch\":28},{\"line\":28,\"ch\":36}],[{\"line\":30,\"ch\":32},{\"line\":30,\"ch\":40}],[{\"line\":33,\"ch\":28},{\"line\":33,\"ch\":36}],[{\"line\":35,\"ch\":32},{\"line\":35,\"ch\":40}],[{\"line\":38,\"ch\":28},{\"line\":38,\"ch\":36}],[{\"line\":26,\"ch\":0},{\"line\":26,\"ch\":2}],[{\"line\":19,\"ch\":26},{\"line\":19,\"ch\":33}],[{\"line\":26,\"ch\":44},{\"line\":26,\"ch\":51}],[{\"line\":31,\"ch\":44},{\"line\":31,\"ch\":51}],[{\"line\":36,\"ch\":44},{\"line\":36,\"ch\":51}],[{\"line\":27,\"ch\":0},{\"line\":27,\"ch\":2}],[{\"line\":28,\"ch\":0},{\"line\":28,\"ch\":2}],[{\"line\":0,\"ch\":8},{\"line\":0,\"ch\":20}],[{\"line\":5,\"ch\":8},{\"line\":5,\"ch\":20}],[{\"line\":10,\"ch\":8},{\"line\":10,\"ch\":20}],[{\"line\":15,\"ch\":8},{\"line\":15,\"ch\":20}],[{\"line\":18,\"ch\":10},{\"line\":18,\"ch\":22}],[{\"line\":21,\"ch\":8},{\"line\":21,\"ch\":20}],[{\"line\":25,\"ch\":10},{\"line\":25,\"ch\":22}],[{\"line\":28,\"ch\":8},{\"line\":28,\"ch\":20}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":22}],[{\"line\":33,\"ch\":8},{\"line\":33,\"ch\":20}],[{\"line\":35,\"ch\":10},{\"line\":35,\"ch\":22}],[{\"line\":38,\"ch\":8},{\"line\":38,\"ch\":20}],[{\"line\":0,\"ch\":28},{\"line\":0,\"ch\":36}],[{\"line\":5,\"ch\":28},{\"line\":5,\"ch\":36}],[{\"line\":10,\"ch\":28},{\"line\":10,\"ch\":36}],[{\"line\":15,\"ch\":28},{\"line\":15,\"ch\":36}],[{\"line\":18,\"ch\":32},{\"line\":18,\"ch\":40}],[{\"line\":21,\"ch\":28},{\"line\":21,\"ch\":36}],[{\"line\":25,\"ch\":32},{\"line\":25,\"ch\":40}],[{\"line\":28,\"ch\":28},{\"line\":28,\"ch\":36}],[{\"line\":30,\"ch\":32},{\"line\":30,\"ch\":40}],[{\"line\":33,\"ch\":28},{\"line\":33,\"ch\":36}],[{\"line\":35,\"ch\":32},{\"line\":35,\"ch\":40}],[{\"line\":38,\"ch\":28},{\"line\":38,\"ch\":36}],[{\"line\":29,\"ch\":0},{\"line\":29,\"ch\":2}],[{\"line\":1,\"ch\":20},{\"line\":1,\"ch\":23}],[{\"line\":2,\"ch\":8},{\"line\":2,\"ch\":11}],[{\"line\":7,\"ch\":8},{\"line\":7,\"ch\":11}],[{\"line\":12,\"ch\":8},{\"line\":12,\"ch\":11}],[{\"line\":17,\"ch\":8},{\"line\":17,\"ch\":11}],[{\"line\":24,\"ch\":8},{\"line\":24,\"ch\":11}],[{\"line\":29,\"ch\":8},{\"line\":29,\"ch\":11}],[{\"line\":34,\"ch\":8},{\"line\":34,\"ch\":11}],[{\"line\":2,\"ch\":13},{\"line\":2,\"ch\":21}],[{\"line\":7,\"ch\":13},{\"line\":7,\"ch\":21}],[{\"line\":12,\"ch\":13},{\"line\":12,\"ch\":21}],[{\"line\":17,\"ch\":13},{\"line\":17,\"ch\":21}],[{\"line\":24,\"ch\":13},{\"line\":24,\"ch\":21}],[{\"line\":29,\"ch\":13},{\"line\":29,\"ch\":21}],[{\"line\":34,\"ch\":13},{\"line\":34,\"ch\":21}],[{\"line\":30,\"ch\":0},{\"line\":30,\"ch\":2}],[{\"line\":0,\"ch\":8},{\"line\":0,\"ch\":20}],[{\"line\":5,\"ch\":8},{\"line\":5,\"ch\":20}],[{\"line\":10,\"ch\":8},{\"line\":10,\"ch\":20}],[{\"line\":15,\"ch\":8},{\"line\":15,\"ch\":20}],[{\"line\":18,\"ch\":10},{\"line\":18,\"ch\":22}],[{\"line\":21,\"ch\":8},{\"line\":21,\"ch\":20}],[{\"line\":25,\"ch\":10},{\"line\":25,\"ch\":22}],[{\"line\":28,\"ch\":8},{\"line\":28,\"ch\":20}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":22}],[{\"line\":33,\"ch\":8},{\"line\":33,\"ch\":20}],[{\"line\":35,\"ch\":10},{\"line\":35,\"ch\":22}],[{\"line\":38,\"ch\":8},{\"line\":38,\"ch\":20}],[{\"line\":0,\"ch\":28},{\"line\":0,\"ch\":36}],[{\"line\":5,\"ch\":28},{\"line\":5,\"ch\":36}],[{\"line\":10,\"ch\":28},{\"line\":10,\"ch\":36}],[{\"line\":15,\"ch\":28},{\"line\":15,\"ch\":36}],[{\"line\":18,\"ch\":32},{\"line\":18,\"ch\":40}],[{\"line\":21,\"ch\":28},{\"line\":21,\"ch\":36}],[{\"line\":25,\"ch\":32},{\"line\":25,\"ch\":40}],[{\"line\":28,\"ch\":28},{\"line\":28,\"ch\":36}],[{\"line\":30,\"ch\":32},{\"line\":30,\"ch\":40}],[{\"line\":33,\"ch\":28},{\"line\":33,\"ch\":36}],[{\"line\":35,\"ch\":32},{\"line\":35,\"ch\":40}],[{\"line\":38,\"ch\":28},{\"line\":38,\"ch\":36}],[{\"line\":31,\"ch\":0},{\"line\":31,\"ch\":2}],[{\"line\":19,\"ch\":26},{\"line\":19,\"ch\":33}],[{\"line\":26,\"ch\":44},{\"line\":26,\"ch\":51}],[{\"line\":31,\"ch\":44},{\"line\":31,\"ch\":51}],[{\"line\":36,\"ch\":44},{\"line\":36,\"ch\":51}],[{\"line\":32,\"ch\":0},{\"line\":32,\"ch\":2}],[{\"line\":33,\"ch\":0},{\"line\":33,\"ch\":2}],[{\"line\":0,\"ch\":8},{\"line\":0,\"ch\":20}],[{\"line\":5,\"ch\":8},{\"line\":5,\"ch\":20}],[{\"line\":10,\"ch\":8},{\"line\":10,\"ch\":20}],[{\"line\":15,\"ch\":8},{\"line\":15,\"ch\":20}],[{\"line\":18,\"ch\":10},{\"line\":18,\"ch\":22}],[{\"line\":21,\"ch\":8},{\"line\":21,\"ch\":20}],[{\"line\":25,\"ch\":10},{\"line\":25,\"ch\":22}],[{\"line\":28,\"ch\":8},{\"line\":28,\"ch\":20}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":22}],[{\"line\":33,\"ch\":8},{\"line\":33,\"ch\":20}],[{\"line\":35,\"ch\":10},{\"line\":35,\"ch\":22}],[{\"line\":38,\"ch\":8},{\"line\":38,\"ch\":20}],[{\"line\":0,\"ch\":28},{\"line\":0,\"ch\":36}],[{\"line\":5,\"ch\":28},{\"line\":5,\"ch\":36}],[{\"line\":10,\"ch\":28},{\"line\":10,\"ch\":36}],[{\"line\":15,\"ch\":28},{\"line\":15,\"ch\":36}],[{\"line\":18,\"ch\":32},{\"line\":18,\"ch\":40}],[{\"line\":21,\"ch\":28},{\"line\":21,\"ch\":36}],[{\"line\":25,\"ch\":32},{\"line\":25,\"ch\":40}],[{\"line\":28,\"ch\":28},{\"line\":28,\"ch\":36}],[{\"line\":30,\"ch\":32},{\"line\":30,\"ch\":40}],[{\"line\":33,\"ch\":28},{\"line\":33,\"ch\":36}],[{\"line\":35,\"ch\":32},{\"line\":35,\"ch\":40}],[{\"line\":38,\"ch\":28},{\"line\":38,\"ch\":36}],[{\"line\":34,\"ch\":0},{\"line\":34,\"ch\":2}],[{\"line\":1,\"ch\":20},{\"line\":1,\"ch\":23}],[{\"line\":2,\"ch\":8},{\"line\":2,\"ch\":11}],[{\"line\":7,\"ch\":8},{\"line\":7,\"ch\":11}],[{\"line\":12,\"ch\":8},{\"line\":12,\"ch\":11}],[{\"line\":17,\"ch\":8},{\"line\":17,\"ch\":11}],[{\"line\":24,\"ch\":8},{\"line\":24,\"ch\":11}],[{\"line\":29,\"ch\":8},{\"line\":29,\"ch\":11}],[{\"line\":34,\"ch\":8},{\"line\":34,\"ch\":11}],[{\"line\":2,\"ch\":13},{\"line\":2,\"ch\":21}],[{\"line\":7,\"ch\":13},{\"line\":7,\"ch\":21}],[{\"line\":12,\"ch\":13},{\"line\":12,\"ch\":21}],[{\"line\":17,\"ch\":13},{\"line\":17,\"ch\":21}],[{\"line\":24,\"ch\":13},{\"line\":24,\"ch\":21}],[{\"line\":29,\"ch\":13},{\"line\":29,\"ch\":21}],[{\"line\":34,\"ch\":13},{\"line\":34,\"ch\":21}],[{\"line\":35,\"ch\":0},{\"line\":35,\"ch\":2}],[{\"line\":0,\"ch\":8},{\"line\":0,\"ch\":20}],[{\"line\":5,\"ch\":8},{\"line\":5,\"ch\":20}],[{\"line\":10,\"ch\":8},{\"line\":10,\"ch\":20}],[{\"line\":15,\"ch\":8},{\"line\":15,\"ch\":20}],[{\"line\":18,\"ch\":10},{\"line\":18,\"ch\":22}],[{\"line\":21,\"ch\":8},{\"line\":21,\"ch\":20}],[{\"line\":25,\"ch\":10},{\"line\":25,\"ch\":22}],[{\"line\":28,\"ch\":8},{\"line\":28,\"ch\":20}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":22}],[{\"line\":33,\"ch\":8},{\"line\":33,\"ch\":20}],[{\"line\":35,\"ch\":10},{\"line\":35,\"ch\":22}],[{\"line\":38,\"ch\":8},{\"line\":38,\"ch\":20}],[{\"line\":0,\"ch\":28},{\"line\":0,\"ch\":36}],[{\"line\":5,\"ch\":28},{\"line\":5,\"ch\":36}],[{\"line\":10,\"ch\":28},{\"line\":10,\"ch\":36}],[{\"line\":15,\"ch\":28},{\"line\":15,\"ch\":36}],[{\"line\":18,\"ch\":32},{\"line\":18,\"ch\":40}],[{\"line\":21,\"ch\":28},{\"line\":21,\"ch\":36}],[{\"line\":25,\"ch\":32},{\"line\":25,\"ch\":40}],[{\"line\":28,\"ch\":28},{\"line\":28,\"ch\":36}],[{\"line\":30,\"ch\":32},{\"line\":30,\"ch\":40}],[{\"line\":33,\"ch\":28},{\"line\":33,\"ch\":36}],[{\"line\":35,\"ch\":32},{\"line\":35,\"ch\":40}],[{\"line\":38,\"ch\":28},{\"line\":38,\"ch\":36}],[{\"line\":36,\"ch\":0},{\"line\":36,\"ch\":2}],[{\"line\":19,\"ch\":26},{\"line\":19,\"ch\":33}],[{\"line\":26,\"ch\":44},{\"line\":26,\"ch\":51}],[{\"line\":31,\"ch\":44},{\"line\":31,\"ch\":51}],[{\"line\":36,\"ch\":44},{\"line\":36,\"ch\":51}],[{\"line\":37,\"ch\":0},{\"line\":37,\"ch\":2}],[{\"line\":38,\"ch\":0},{\"line\":38,\"ch\":2}],[{\"line\":0,\"ch\":8},{\"line\":0,\"ch\":20}],[{\"line\":5,\"ch\":8},{\"line\":5,\"ch\":20}],[{\"line\":10,\"ch\":8},{\"line\":10,\"ch\":20}],[{\"line\":15,\"ch\":8},{\"line\":15,\"ch\":20}],[{\"line\":18,\"ch\":10},{\"line\":18,\"ch\":22}],[{\"line\":21,\"ch\":8},{\"line\":21,\"ch\":20}],[{\"line\":25,\"ch\":10},{\"line\":25,\"ch\":22}],[{\"line\":28,\"ch\":8},{\"line\":28,\"ch\":20}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":22}],[{\"line\":33,\"ch\":8},{\"line\":33,\"ch\":20}],[{\"line\":35,\"ch\":10},{\"line\":35,\"ch\":22}],[{\"line\":38,\"ch\":8},{\"line\":38,\"ch\":20}],[{\"line\":0,\"ch\":28},{\"line\":0,\"ch\":36}],[{\"line\":5,\"ch\":28},{\"line\":5,\"ch\":36}],[{\"line\":10,\"ch\":28},{\"line\":10,\"ch\":36}],[{\"line\":15,\"ch\":28},{\"line\":15,\"ch\":36}],[{\"line\":18,\"ch\":32},{\"line\":18,\"ch\":40}],[{\"line\":21,\"ch\":28},{\"line\":21,\"ch\":36}],[{\"line\":25,\"ch\":32},{\"line\":25,\"ch\":40}],[{\"line\":28,\"ch\":28},{\"line\":28,\"ch\":36}],[{\"line\":30,\"ch\":32},{\"line\":30,\"ch\":40}],[{\"line\":33,\"ch\":28},{\"line\":33,\"ch\":36}],[{\"line\":35,\"ch\":32},{\"line\":35,\"ch\":40}],[{\"line\":38,\"ch\":28},{\"line\":38,\"ch\":36}]]"}
!@%STYLE%@!

Compare timestamp calls around loops with the loop that calls timespec_get on every iteration: the measurement method is part of what runs. section 15.3

TAKEAWAY: Assess the timing method’s own impact before interpreting a result. Repeat experiments and report statistics such as the mean and standard deviation; repetition helps assess results but does not make instrumentation disappear. section 15.3

How Modern C covers it

How deep it goes
Explains compiler and runtime effects and recommends repetition and statistics, without treating experimental measurement in full.
Examples
Uses timespec_get around C loops and within a loop to expose measurement overhead.
What you can do after
Evaluate/understand timing results by assessing instrumentation effects and comparing repeated measurements.
How it connects
Links measurement bias to compiler optimization, system calls, scheduling, caches, and statistical variation.

Also explained in

Compare how 2 books explain measurement bias →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Modern C. The section links point to the parts of the book it draws on.