TCriticalSection (along with TMonitor) suffers from a severe design flaw in which entering/leaving different TCriticalSection instances can end up serializing your threads, and the whole can even end up performing worse than if your threads had been serialized. This is because it’s a small, ...
More...