Sorry, I wasn't implying that was you. :)  But yes I agree when using string concatenation with variable references the performance can be quite worse.  Part of the problem is my method should have been calling trace instead of tracef.  Whenever calling tracef it has to allocate at least an additional zero sized array. Calling trace would be the same perf(eventually or soon) with the if when tracing is disabled and actually faster when tracing is enabled :)