Bad performance of BSA module
FSEngine's BSA module causes system-wide performance regression.
BSOS has a library called
FSEngine to handle BSA files and this library uses WxWidgets'
wxMemoryBuffer which uses vector internally. (
As vector normally does, this vector will trying to increase its size when it is required.
At some point,
realloc() will be called to increase the size of vector then
RtlpReAllocateHeap() also be called to copy data.
However, at this point, while
memcpy() is running, entire system gets unresponsive including program itself until