Partilhar via


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.

Consulte também

Referência

Recursos da biblioteca CRT