多執行緒程式庫效能
單一執行緒 CRT 已不再提供使用。 本文討論如何從多線程連結庫取得最大效能。
將效能最大化
多執行緒程式庫的效能已經受到改善,並非常接近已被取代之單一執行緒程式庫的效能。 針對那些需要更高效能的情況,現已提供數種新功能。
獨立串流鎖定可讓您鎖定數據流,然後使用
_nolock
直接存取數據流的函式 。 這項功能可讓鎖定使用方式在關鍵迴圈外懸掛。每個線程地區設定可降低多線程案例的地區設定存取成本(請參閱
_configthreadlocale
)。地區設定相依函式(名稱以_l結尾)採用地區設定作為參數,移除大量成本(例如、
printf
、_printf_l
、wprintf
、_wprintf_l
)。針對常用字碼頁的最佳化,可降低許多簡短作業的成本。
_CRT_DISABLE_PERFCRIT_LOCKS
定義會強制所有 I/O 作業假設單個線程 I/O 模型,並使用_nolock
函式的形式。 此巨集可讓高度 I/O 型的單一線程應用程式獲得更佳的效能。公開 CRT 堆積控制代碼可讓您針對 CRT 堆積啟用 Windows 低分散堆積 (LFH),這可以大幅提升高度調整案例的效能。