Partager via


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_lwprintf, _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