From ae58401d53698714dcede2fc2c3879f3a11f5ade Mon Sep 17 00:00:00 2001 From: Zygo Blaxell Date: Wed, 12 Feb 2025 20:10:12 -0500 Subject: [PATCH] trace: avoid one copy in every trace function While investigating https://github.com/Zygo/bees/issues/282 I noticed that we're doing at least one unnecessary extra copy of the functor in BEESTRACE. Get rid of it with a const reference. Signed-off-by: Zygo Blaxell --- src/bees-trace.cc | 2 +- src/bees.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bees-trace.cc b/src/bees-trace.cc index 5e58532..81b70d5 100644 --- a/src/bees-trace.cc +++ b/src/bees-trace.cc @@ -49,7 +49,7 @@ BeesTracer::~BeesTracer() } } -BeesTracer::BeesTracer(function f, bool silent) : +BeesTracer::BeesTracer(const function &f, bool silent) : m_func(f) { m_next_tracer = tl_next_tracer; diff --git a/src/bees.h b/src/bees.h index 10ed7f6..888f91e 100644 --- a/src/bees.h +++ b/src/bees.h @@ -193,7 +193,7 @@ class BeesTracer { thread_local static bool tl_silent; thread_local static bool tl_first; public: - BeesTracer(function f, bool silent = false); + BeesTracer(const function &f, bool silent = false); ~BeesTracer(); static void trace_now(); static bool get_silent();