Performances des bibliothèques multithreads
La bibliothèque CRT monothread n’est plus disponible. Cet article explique comment obtenir les performances maximales des bibliothèques multithread.
Optimisation des performances
Les performances des bibliothèques multithread ont été améliorées et sont proches de celles des bibliothèques monothread, maintenant indisponibles. Pour les situations nécessitant des performances plus élevées, il existe plusieurs nouvelles fonctionnalités.
Le verrouillage de flux indépendant vous permet de verrouiller un flux, puis d’utiliser
_nolock
des fonctions qui accèdent directement au flux. Cette fonctionnalité permet d’hisser l’utilisation du verrou en dehors des boucles critiques.Les paramètres régionaux par thread réduisent le coût d’accès aux paramètres régionaux pour les scénarios multithreads (voir
_configthreadlocale
).Les fonctions dépendantes des paramètres régionaux (avec des noms se terminant par _l) prennent les paramètres régionaux en tant que paramètre, en supprimant un coût substantiel (par exemple, ,
printf
,_printf_l
wprintf
,_wprintf_l
).Des optimisations pour les pages de code commun réduisent le coût de nombreuses opérations courtes.
La définition
_CRT_DISABLE_PERFCRIT_LOCKS
force toutes les opérations d’E/S à supposer un modèle d’E/S à thread unique et à utiliser les_nolock
formes des fonctions. Cette macro permet aux applications monothread basées sur des E/S hautement performantes.L’exposition du handle de tas CRT vous permet d’activer le segment de mémoire du tas LFH Windows pour le tas CRT, ce qui peut améliorer considérablement les performances dans les scénarios très évolutifs.
Voir aussi
Fichiers C runtime (CRT) et bibliothèque standard C++ (STL) .lib