Производительность многопотоковых библиотек
Однопоточные CRT более не доступны. В этом разделе описано, как получить максимальную производительность при использовании многопоточных библиотек.
Максимальное увеличение производительности
Производительность многопоточных библиотек была улучшена и близка к производительности исключенных теперь однопоточных библиотек. Есть несколько новых функций для ситуаций, когда нужна еще более высокая производительность.
Независимая блокировка потоков позволяет блокировать поток и затем использовать Функции _nolock, которые получают доступ к потоку напрямую. Это позволяет использовать блокировки вне критических циклов.
Языковой стандарт по потокам снижает стоимость доступа языкового стандарта для многопоточного сценариев (см. _configthreadlocale).
Функции, зависящие от языкового стандарта, (с оканчивающимися на _l именами) принимают в качестве параметра языковой стандарт, удаляя существенную часть затрат (например, printf, _printf_l, wprintf, _wprintf_l).
Оптимизации для общих кодовых страниц снижают стоимость множества простых операций.
Определение _CRT_DISABLE_PERFCRIT_LOCKS заставляет все операции ввода-вывода принять модель однопоточного ввода-вывода и использовать _nolock версии функций. Это позволяет однопоточным приложениям, основанным в основном на вводе-выводе, получить более высокую производительность.
Предоставление дескриптора кучи CRT позволяет включить кучу низкой фрагментации Windows (LFH) для кучи CRT, что может значительно повысить производительность в легко масштабируемых сценариях.