Show Your Support: Have you heard of Phoronix Premium? It's what complements advertisements on this site for our premium ad-free service. For less than $4 USD per month, you can help support our site while the funds generated allow us to keep doing Linux hardware reviews, performance benchmarking, maintain our community forums, and much more.
LLVM Prepares New ThreadSanitizer Runtime That Is Faster, Lower Memory Use
ThreadSanitizer is successful at detecting data race conditions even within large and complex code-bases. But unfortunately it's quite burdensome to enable with performance slowing down in the range of 5~15x while the run-time memory overhead can be in the range of 5~10x.
With LLVM's new ThreadSanitizer run-time the shadow memory is 2x smaller, or about 2x of the conventional application memory usage. There is also faster fully-vectorized race detection, fast vectorized vector clock operations, and can handle an unlimited number of alive threads/goroutines. In other words, the new TSan run-time is a big improvement over the current code.
The developers have been working to land this new run-time but have had to revert it due to test failures. Improved test cases and other ThreadSanitizer enhancements have landed while the latest TSan run-time patch was posted here awaiting a fresh merge where it will hopefully all be in order for speeding up ThreadSanitizer.