Files
palladum-lightning/common/test/run-trace.c
Rusty Russell f5f87255c1 common/test/run-trace: increase iterations for trivial benchmarking.
With an average runtime of 18.7674, this implies 1876ns
per trace, which is far in excess of the 370ns claimed in
doc/developers-guide/tracing-cln-performance.md.

We also add a tag in there, so we measure that!

Results on my laptop:
	real	0m18.524000-19.100000(18.7674+/-0.21)s
	user	0m16.171000-16.833000(16.424+/-0.26)s
	sys	0m2.259000-2.400000(2.337+/-0.059)s

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2025-04-23 13:45:18 +09:30

37 lines
842 B
C

#include "config.h"
#include <common/setup.h>
#include <common/trace.h>
/* This is mostly a benchmark to see how much overhead the tracing
* introduces. */
int main(int argx, char *argv[])
{
/* Just some context objects to hang spans off of. */
int a, b, c, d;
common_setup(argv[0]);
/* Create a bunch of nested spans to emit. */
for(int i=0; i<2500000; i++) {
trace_span_start("a", &a);
trace_span_tag(&a, "method", "getrawblockbyheight");
trace_span_start("b", &b);
trace_span_tag(&b, "method", "getrawblockbyheight");
trace_span_start("c", &c);
trace_span_tag(&c, "method", "getrawblockbyheight");
trace_span_end(&c);
trace_span_end(&b);
trace_span_start("d", &d);
trace_span_tag(&d, "method", "getrawblockbyheight");
trace_span_end(&d);
trace_span_end(&a);
}
trace_cleanup();
common_shutdown();
}