Karsten Blees <karsten.blees@xxxxxxxxx> writes: > Simple use case (measure one code section): > > uint64_t start = getnanotime(); > /* code section to measure */ > trace_performance_since(start, "foobar"); > > Medium use case (measure consecutive code sections): > > uint64_t start = getnanotime(); > /* first code section to measure */ > start = trace_performance_since(start, "first foobar"); > /* second code section to measure */ > trace_performance_since(start, "second foobar"); > > Complex use case (measure repetitive code sections): > > uint64_t t = 0; > for (;;) { > /* ignore */ > t -= getnanotime(); > /* code section to measure */ > t += getnanotime(); > /* ignore */ > } > trace_performance(t, "frotz"); Hmph. Even though trace_performance() makes an extra call to getnanotime() in order to return, examples do not use the returned value? The second example is a good illustration why it makes sense for trace_performance_since(), though. > +static void trace_performance_vfl(const char *file, int line, > + uint64_t nanos, const char *format, > + va_list ap) > +{ Just being curious, but what does "v" stand for? The "_fl" suffix you gave to printf family made a lot of sense to me, and I would have expected that this to be called with a "_flt" suffix, meaning "we have file, line and then time as extra parameters" or something. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html