次の方法で共有


マルチスレッド ライブラリのパフォーマンス

シングルスレッド CRT は使用できなくなりました。 この記事では、マルチスレッド ライブラリから最大のパフォーマンスを得る方法について説明します。

パフォーマンスの最大化

マルチスレッド ライブラリのパフォーマンスが向上し、現在は削除されたシングルスレッド ライブラリのパフォーマンスに近づきました。 さらに高いパフォーマンスが求められる状況に対応するために、いくつかの新機能が提供されています。

  • 独立したストリーム ロックを使用すると、ストリームをロックし、ストリームに直接アクセスする _nolock 関数 を使用できます。 この機能により、重要なループの外側でロック使用法を巻き上げることができます。

  • スレッドごとのロケールにより、マルチスレッド シナリオのロケール アクセスのコストが削減されます ( _configthreadlocaleを参照)。

  • ロケール依存関数 (名前が _l で終わる) は、ロケールをパラメーターとして受け取り、大幅なコスト ( printf_printf_lwprintf_wprintf_lなど) を削除します。

  • 一般的なコードページの最適化によって、多くの短い操作の費用が削減されます。

  • _CRT_DISABLE_PERFCRIT_LOCKSを定義すると、すべての I/O 操作でシングルスレッド I/O モデルが想定され、_nolock形式の関数が使用されます。 このマクロを使用すると、I/O ベースのシングル スレッド アプリケーションのパフォーマンスを向上させることができます。

  • CRT ヒープ ハンドルの公開により、CRT ヒープ用の Windows Low Fragmentation Heap (LFH) を有効にして、高い拡張性が求められるシナリオでパフォーマンスを大幅に向上させることができます。

関連項目

C ランタイム (CRT) と C++ 標準ライブラリ (STL) .lib ファイル