マルチスレッド ライブラリのパフォーマンス
シングルスレッド CRT は使用できなくなりました。 このトピックでは、マルチスレッド ライブラリから最大のパフォーマンスを得る方法について説明します。
パフォーマンスの最大化
マルチスレッド ライブラリのパフォーマンスが向上し、現在は削除されたシングルスレッド ライブラリのパフォーマンスに近づきました。 さらに高いパフォーマンスが求められる状況に対応するために、いくつかの新機能が提供されています。
独立したストリームのロック機能を使用すると、ストリームをロックし、_nolock 関数を使用してそのストリームに直接アクセスできます。 これにより、重要なループ外でロックの使用率を上げることができます。
スレッドごとのロケールによって、マルチスレッドのシナリオにおけるロケール アクセスの費用が削減されます (「_configthreadlocale」をご覧ください)。
ロケールに依存する関数 (_l で終わる名前が付いています) ではロケールがパラメーターとして受け取られるため、コストが大幅に削減されます (printf、_printf_l、wprintf、_wprintf_l など)。
一般的なコードページの最適化によって、多くの短い操作の費用が削減されます。
_CRT_DISABLE_PERFCRIT_LOCKS の定義により、すべての入出力操作でシングルスレッドの入出力モデルを前提とし、_nolock 形式の関数を使用することが強制されます。 これにより、高入出力ベースの高度なシングルスレッド アプリケーションは、優れたパフォーマンスを発揮できます。
CRT ヒープ ハンドルの公開により、CRT ヒープ用の Windows Low Fragmentation Heap (LFH) を有効にして、高い拡張性が求められるシナリオでパフォーマンスを大幅に向上させることができます。