Partilhar via


Desempenho de bibliotecas multifios

O CRT de thread único não está mais disponível. Este artigo descreve como obter o máximo desempenho das bibliotecas multithreaded.

Maximização do desempenho

O desempenho das bibliotecas multi-thread foi melhorado e está próximo do desempenho das bibliotecas monothread que foram eliminadas. Para aquelas situações em que é necessário um desempenho ainda maior, existem vários novos recursos.

  • O bloqueio de fluxo independente permite que você bloqueie um fluxo e, em seguida, use _nolock funções que acessam o fluxo diretamente. Este recurso permite que o uso do bloqueio seja movido para fora de loops críticos.

  • A localidade por thread reduz o custo do acesso à localidade para cenários multithreaded (consulte _configthreadlocale).

  • As funções dependentes da localidade (com nomes terminados em _l) tomam a localidade como parâmetro, removendo custos substanciais (por exemplo, printf, , _printf_lwprintf, _wprintf_l).

  • As otimizações para páginas de código comuns reduzem o custo de muitas operações curtas.

  • Definir _CRT_DISABLE_PERFCRIT_LOCKS força todas as operações de E/S a adotar um modelo de E/S de thread único e usar as _nolock formas das funções. Esta macro permite que aplicações de único encadeamento, altamente dependentes de entrada/saída, obtenham um melhor desempenho.

  • A exposição do identificador de heap CRT permite habilitar o Windows Low Fragmentation Heap (LFH) para o heap CRT, o que pode melhorar substancialmente o desempenho em cenários altamente dimensionados.

Ver também

Ficheiros de tempo de execução de C (CRT) e C++ Standard Library (STL) .lib