Desempenho de bibliotecas multithread
O CRT de thread único não está mais disponível. Este tópico discute como obter o máximo desempenho das bibliotecas multi-threaded.
Aumentando o desempenho
O desempenho das bibliotecas multi-threaded foi aprimorado e é semelhante ao do desempenho das bibliotecas de thread único agora eliminadas. Para essas situações quando mesmo alto desempenho é necessário, há vários novos recursos.
O bloqueio de forma independente de fluxo permite que você impede um fluxo e então use Funções (_nolock) que acessa o fluxo diretamente. Isso permite que o uso de bloqueio é içado fora de loops críticos.
a localidade do thread reduz os custos de acesso à localidade para cenários de vários threads (consulte _configthreadlocale).
As funções de localidade dependente (com os nomes que terminam em _l) levam a localidade como um parâmetro, removendo os custos substanciais (por exemplo, printf, _printf_l, wprintf, _wprintf_l).
As otimizações para páginas de código comum reduzem o custo de muitas operações curtos.
Definindo _CRT_DISABLE_PERFCRIT_LOCKS força todas as operações de E/S para assumir um modelo de thread único de E/S e usar os formulários de _nolock de funções. Isso permite altamente a I/O-based aplicativos de thread único obter o melhor desempenho.
A possibilidade de identificador de heap de CRT permite que você habilite heap (LFH) de fragmentação do windows baixo para o heap de CRT substancialmente, o que pode melhorar o desempenho em cenários bem dimensionados.