Skip to content

Fix messaging performance regression

The changes in !407 (merged) made CommonMessaging thread safe, but replaced a the very fast, inlined check msgLevel(DEBUG) with a very expensive check in a thread local pointer, causing ~10% slow down in LHCb reconstruction workflow.

With these changes I restore the old speed of the check, still keeping the cached MsgStream in a thread local pointer.

It required, though, a change in the way CommonMessaging is initialized (always instead of on demand) and in the component classes inheriting from CommonMessaging to make sure that the initialization takes correctly into account all constraints (output level property, m_level cache and MsgStream always in sync).

The change in CommonMessaging initialization required some minor changes in test reference files too.

I also included a fix for GAUDI-1316.

Fixes GAUDI-1319

Fixes GAUDI-1316

Merge request reports