多线程库性能

单线程的 CRT 不再可用。 本主题讨论如何从多线程库获取最佳性能。

极大优化性能

提高了多线程 (msvcrt.lib) 库的性能并接近将消除的单线程库的性能。 当需要高性能时,对于这些情况,有多种新功能。

  • 独立流锁可以锁定流然后直接使用流访问的 _nolock 函数。 这允许锁定用法是关键的外部循环。

  • 每线程区域设置减少多线程方案的区域设置访问的开销 (参见 _configthreadlocale)。

  • 区域设置相关的函数名称 (其中以_l结尾) 将区域设置作为一个参数,移除严格的成本 (例如,printf、_printf_l、wprintf、_wprintf_l)。

  • 公共代码的优化降低许多表短的操作的开销。

  • _CRT_DISABLE_PERFCRIT_LOCKS 定义强制所有 I/O 操作均采用单线程的模型使用 I/O 和函数的_nolock 窗体。 这允许高度基于 I/O 的单一线程的应用程序将获得更好的性能。

  • CRT 堆句柄的公开用于启用 CRT 堆窗口右下角堆碎片 (LFH),可以充分地提高在高度缩放方案的性能。

请参见

参考

CRT 库功能