Compartir por


Rendimiento de bibliotecas multiproceso

El CRT de un solo subproceso ya no está disponible. En este artículo se describe cómo obtener el máximo rendimiento de las bibliotecas multiproceso.

Maximizar el rendimiento

El rendimiento de las bibliotecas multiproceso se ha mejorado y ha llegado casi al nivel de rendimiento de las bibliotecas de un único subproceso ya eliminadas. Para aquellas situaciones en que se precisa de un rendimiento incluso mayor, hay varias características nuevas.

  • El bloqueo de flujo independiente permite bloquear una secuencia y, a continuación, usar _nolock funciones que acceden directamente a la secuencia. Esta característica permite que el uso de bloqueos se hoste fuera de los bucles críticos.

  • La configuración regional por subproceso reduce el costo de acceso de configuración regional para escenarios multiproceso (consulte _configthreadlocale).

  • Las funciones dependientes de la configuración regional (con nombres que terminan en _l) toman la configuración regional como parámetro, quitando un costo considerable (por ejemplo, printf, _printf_l, wprintf, _wprintf_l).

  • Las optimizaciones para las páginas de códigos comunes reducen el costo de muchas operaciones cortas.

  • Definir _CRT_DISABLE_PERFCRIT_LOCKS obliga a todas las operaciones de E/S a asumir un modelo de E/S uniproceso y usar las _nolock formas de las funciones. Esta macro permite que las aplicaciones de un solo subproceso basadas en E/S tengan un mejor rendimiento.

  • La exposición del identificador de montón de CRT permite habilitar el mecanismo de montón de fragmentación baja (LFH) de Windows para el montón de CRT, lo que puede mejorar considerablemente el rendimiento en escenarios de alta escalabilidad.

Consulte también

Archivos .lib de tiempo de ejecución de C (CRT) y biblioteca estándar de C++ (STL)