2011-12-29 20 views
1

std::__unordered_mapと表示され、__cache_hash_code=trueとなると、実行時パフォーマンスが大幅に向上します。しかし、std::unordered_mapでは利用できません。 __cache_hash_code=trueは推奨されていませんか?なぜ、__cache_hash_codeは、std :: __ unordered_mapにのみ使用できますか?

+2

'std :: unordered_map'はカスタムハッシュファンクタをサポートしています。プロファイリングによってキャッシュが望ましいことが示された場合、そのキャッシュをカスタムハッシュファンクタに実装できます。それは完全に移植可能です。 – MSalters

答えて

2

名前に二重のアンダースコア(__)が付いている識別子は実装によって予約されているため、今後同じまたは異なるセマンティクスでサポートされるかどうかは実装固有のコードです。

プロファイリングによって、ハッシュがプログラムで大きなボトルネックになることが明らかにされていない限り、標準のコンテナを使用して、保守性と移植性を向上させるだけです。

関連する問題