多執行緒程式庫效能
單一執行緒 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),這可以大幅提升高度調整案例的效能。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應