Função de alocação
Aloca um bloco de memória do tamanho especificado a partir de Suballocator de cache do Runtime de simultaneidade.
_CRTIMP void * __cdecl Alloc( size_t _NumBytes );
Parâmetros
- _NumBytes
O número de bytes de memória para alocar.
Valor de retorno
Um ponteiro para a memória recém-alocada.
Comentários
Use o suballocator de cache quando você espera fazer várias alocações intercaladas com desalocações com um pequeno conjunto de tamanhos de bloco em um número de threads. O suballocator é uma camada de cache acima do heap de tempo de execução C. O Runtime de simultaneidade cria um suballocator por processador virtual em um Agendador, bem como um alocador de sub por thread criado pelo seu aplicativo que usa os métodos do alocador.
Depois de ter criado um cache de um determinado bloco de tamanho, alocações e liberações são possíveis sem mantendo bloqueios ou até mesmo executar barreiras de memória. Se o cache de cada suballocator para um tamanho de bloco estiver vazio, as alocações são feitas do heap, e se o cache atingiu um determinado tamanho para um tamanho de bloco, os blocos são livres para a pilha de tempo de execução C.
Se seu aplicativo usa uma grande quantidade de memória, você pode descobrir que você fique sem memória mais cedo do que você exepct se você usar o suballocator de cache. Isso ocorre porque os blocos em cache em um suballocator não estão disponíveis para outro e pode haver grandes quantidades de memória em cache no suballocators um segmento específico não tem acesso em um determinado momento.
Requisitos
Cabeçalho: concrt.h
Namespace: Simultaneidade