Don't trace the callstack if you don't need to
Here is another performance tip with tracing. In configuration, there is the opportunity to define some tracing options. These options determine the actions taken by TraceListener when it writes the footer of the trace record for a given message. One of the options is to output the Callstack.
It takes a bit of work to calculate the callstack. If you don’t need that information, then don’t configure your listeners to calculate it.
To demonstrate the difference, I created two load tests that each ran a unit test that used its own specific TraceSource. The reason for two separate load tests was to avoid a locking issue that would impact the results.
Here is the configuration I used: