多线程的库性能

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

最大化性能

改进了多线程库的性能并接近现在已清除的单线程库的性能。 对于这些情况,在需要时高性能,有几项新功能。

  • 独立流锁定使您可以锁定流然后直接使用 _nolock功能 访问流。 这允许锁定使用母循环之外。卷扬。

  • 每个线程区域设置减少区域设置访问的成本多线程方案中的 _configthreadlocale(请参见)。

  • 与区域设置相关的功能 (如果名称以 _l) 将区域设置作为参数,取消大量的成本 (例如, printf, _printf_l, wprintf, _wprintf_l)。

  • 通用代码表的优化减少许多短操作的成本。

  • 定义 _CRT_DISABLE_PERFCRIT_LOCKS 强制所有 I/O 操作假定一个单线程的 I/O 设计和使用功能的 _nolock 窗体。 这允许更好高度基于 I/O 的单线程应用程序捕获性能。

  • CRT 堆处理的风险用于启用 CRT 堆的窗口低碎片堆 (LFH),可以完全提高了高度缩放的方案的性能。

请参见

参考

CRT库功能