次の方法で共有


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

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

パフォーマンスの最大化

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

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

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

  • ロケールに依存する関数 (名前が_lで終わる関数) は、ロケールをパラメーターとして受け取り、 printf大幅なコスト (例: , _printf_l, , wprintf) _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 ファイル