Share via


Desempenho de bibliotecas multithread

A CRT single-threaded não está mais disponível.Este tópico discute como obter o máximo desempenho das bibliotecas multithread.

Maximização do desempenho

O desempenho das bibliotecas multithread foi aperfeiçoado e está perto o desempenho das bibliotecas do single-threaded eliminou a agora.Para essas situações quando desempenho ainda maior é necessário, existem vários novos recursos.

  • O bloqueio de fluxo independente permite bloquear um fluxo e, em seguida, use _nolock funções que acessar o fluxo diretamente.Isso permite a utilização do bloqueio ser hoisted fora de loops críticas.

  • A localidade de cada thread reduz o custo de acesso de localidade para cenários de multithreaded (consulte _configthreadlocale).

  • Funções de depende da localidade (com nomes que terminam em _l) utilizam a localidade como um parâmetro, removendo os enormes custos (por exemplo, printf, _printf_l, wprintf, _wprintf_l).

  • Otimizações para páginas de código comuns reduzem o custo de muitas operações curtos.

  • Definindo _CRT_DISABLE_PERFCRIT_LOCKS força todas as operações de i/O para assumir um modelo de segmentação única de e/S e usar os formulários de _nolock das funções.Isso permite que aplicativos de thread único altamente I/O-based obter um melhor desempenho.

  • Exposição da alça de heap de CRT permite ativar o Windows baixa fragmentação Heap (LFH) para o heap de CRT, que pode elevar substancialmente o desempenho em cenários altamente dimensionados.

Consulte também

Referência

Recursos da biblioteca CRT