When Surfpool receives a transaction with profiling enabled, the profiling currently happens on the same thread as the transaction execution. This introduces unnecessary contention and significantly slows down transaction processing.
As a result, developers have to choose between execution speed and context introspection, when we could get both by simply profiling on a dedicate thread.