STLコンテナを大量に使用する非常に複雑なアプリケーションを作成しています。このアプリケーションには、比較的単純でパフォーマンスの高い単一のセクションがあり、std::map
を複数回反復し、何千回も実行されます。テストでは、チェックされたイテレータを無効にしてコンパイルする(_SECURE_SCL
が0に設定されている)と、このセクションに完全に集中してプログラム全体がほぼ2倍高速化されています。 を有効にしてコンパイルしたライブラリにリンクする必要があり、_SECURE_SCL
の設定を混在させる必要があるため、アプリケーションを_SECURE_SCL
に設定するとアプリケーションをコンパイルできません。また、すべてのパフォーマンスに影響されやすいビットが一画面のコードで発生する場合、アプリケーション全体でチェックされていないイテレータを使用することはむしろ愚かであることがわかります。それは、お風呂の水で赤ちゃんを捨てることと同じです。チェックイテレータを選択的に無効にする
チェックインされたイテレータでコンパイルされたライブラリとの互換性を維持しながら、パフォーマンスに影響を受けやすいコード/コンテナに対して、未チェックのイテレータを選択的に使用するためには、どのようなオプションが必要ですか?
感謝を! – drxzcl
喜んで助けてください。良い質問が良く見えるはずです! –