При выделении и освобождении памяти в куче возникают издержки блокирования и разблокирования доступа к куче.Это сделано для того, чтобы два или более потоков не выделяли память в одном месте.
То же самое верно при доступе к памяти с помощью любого из UnsafePointers?Или это не требуется при доступе к уже выделенной памяти?