Delen via


Prestaties van multithreaded-bibliotheken

De CRT met één thread is niet meer beschikbaar. In dit artikel wordt beschreven hoe u de maximale prestaties van de multithreaded-bibliotheken kunt verkrijgen.

Prestaties maximaliseren

De prestaties van de multithreaded-bibliotheken zijn verbeterd en zijn dicht bij de prestaties van de nu geëlimineerde bibliotheken met één thread. Voor dergelijke situaties waarin nog hogere prestaties vereist zijn, zijn er verschillende nieuwe functies.

  • Met onafhankelijke streamvergrendeling kunt u een stream vergrendelen en vervolgens _nolock gebruiken die rechtstreeks toegang hebben tot de stream. Met deze functie kan het gebruik van vergrendelingen buiten kritieke lussen worden gehesen.

  • De landinstellingen per thread verlagen de kosten van landinstellingentoegang voor scenario's met meerdere threads (zie _configthreadlocale).

  • Landinstellingenafhankelijke functies (met namen die eindigen op _l) nemen de landinstelling als parameter, waarbij aanzienlijke kosten worden verwijderd (bijvoorbeeld printf, _printf_l, wprintf, ). _wprintf_l

  • Optimalisaties voor algemene codepagina's verlagen de kosten van veel korte bewerkingen.

  • Definiëren van _CRT_DISABLE_PERFCRIT_LOCKS dwingt alle I/O-bewerkingen om een I/O-model met één thread aan te nemen en de _nolock vormen van de functies te gebruiken. Met deze macro kunnen sterk op I/O gebaseerde toepassingen met één thread beter presteren.

  • Door blootstelling van de CRT-heapgreep kunt u de Windows Low Fragmentation Heap (LFH) voor de CRT-heap inschakelen, waardoor de prestaties in sterk geschaalde scenario's aanzienlijk kunnen worden verbeterd.

Zie ook

C Runtime-bestanden (CRT) en C++ Standaardbibliotheek (STL) .lib