Faster traceEvent and traceMarker, and binary object logging for eventlog.
ghc-trace-events provides faster traceEvent and traceMarker as well as arbitrary binary object logging for the eventlog framework. Unlike the eventlog tracing functions in base, all the tracing functions in this library don't evaluate the input if user event logging (the -lu flag) is disabled, which can give a significant boost in performance. Take a look at the benchmark suite for the details.
This library provies the following modules:
Debug.Trace.StringDrop-in replacement for the event tracing functions in
Debug.Trace.Debug.Trace.ByteStringUTF-8 encoded
ByteStringvariant of the event tracing functions inDebug.Trace. It's faster than theStringvariant.Debug.Trace.TextTextvariant of the event tracing functions inDebug.Trace. It's faster than theStringvariant.Debug.Trace.BinaryArbitary binary object logging available for GHC 8.8 or later. Unlike the other tracing functions
Debug.Trace.Binary.traceBinaryEventtakes an arbitraryByteStringobject as opposed to a UTF-8 encoded string.