Partilhar 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 de vários segmentos.

Maximização do desempenho

O desempenho de bibliotecas multithread foi aperfeiçoado e está perto o desempenho das bibliotecas de single-threaded eliminados agora.Para essas situações quando são necessário, ainda mais altos de desempenho estão vários recursos novos.

  • Bloqueio fluxo independente permite bloquear um fluxo e, em seguida, use funções _nolock que acessar o fluxo diretamente. Isso permite que o uso de bloquear ser hoisted fora loops críticos.

  • Localidade por thread reduz o custo de acesso a localidade para cenários com vários segmentos (consulte _configthreadlocale).

  • Funções dependentes de localidade (com nomes que terminam em _l) utilizam a localidade sistema autônomo um parâmetro, removendo o considerável custo (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.

  • Definir _CRT_DISABLE_PERFCRIT_LOCKS força todas as operações de E/s para assumir um modelo de E/s single-threaded e usar os formulários _nolock das funções. Isso permite que os altamente eu O com/single-threaded aplicativos obter um melhor desempenho.

  • Possibilidade de que o identificador de heap do CRT permite ativar o Windows baixa fragmentação heap (LFH) para o heap CRT, que pode elevar substancialmente o desempenho em situações altamente dimensionados.

Consulte também

Referência

C em time de execução bibliotecas