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.