問題タブ [boost-unordered]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 共有メモリに割り当てられたマップのマップ
の内部で、両方のマップのキーを持って、値として別の内部boost::interprocess::managed_shared_memory
を作成しようとしています。共有メモリ セグメント内のこの Map in Map は、2 つの異なるプロセスによってアクセスされ、外部マップと内部マップの両方から値をフェッチします。boost::unordered_map
boost::unordered_map
std::string
以下は私の実装であり、これが可能/正しい方法であるか、それとも他のより良い方法であるかを知りたいですか?
その他の詳細:
CentOS 7 上の gcc バージョン 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC)、BOOST_LIB_VERSION "1_58"
c++ - std::map と boost::unordered_map の間のハウスキーピングと余分なメモリのサイズの違いは何ですか?
std::string に基づいて格納されたクラスオブジェクトへのポインタをキーとして格納するため、2つのサイズの違いを計算する方法がわからないため、主にこの質問をしています。余分なスペースが主にboost::unordered_mapのハウスキーピングによるものであることはわかっています(長い配列を維持していると聞きましたが、理由はわかりません。誰かがこれも維持されている理由を説明してもらえますか)。std::map はハウスキーピングを必要としないと考えていました(間違っている場合は修正してください)。
私の考えでは、std::map はバイナリ ツリーまたは赤黒ツリーとして格納され、boost::unordered_map はキーを 10 進数に変換し、それに基づいてハッシュします。
両方について私の理解を明確にしてください。
ティア-R
c++ - 大きなboost::unordered_mapのサイズを見つける
std::string によってマップされたクラスへのポインターを含む、boost::unordered_map のサイズを見つけたいと思います。sizeof(unordered_map var) を実行しています。そうですか?それが占有するスペースを私に与えてくれますか?ハウスキーピングも含めて取り上げる?それを測定して、同じデータを保持する std::map と比較したかったのですが、これも sizeof(std::map var) で測定します。速度とスペースを比較して、それぞれが占有するストレージの量と、どちらを使用するのが良いかを決定するための両方を知りたいです。
サイズを計算する私の方法が正しいかどうかを教えてください。実際の/正しいサイズが得られ、正しい決定を下すのに役立ちます.
編集1:
サイズを取得しようとする私の方法が間違っている場合は、正しいサイズを取得する方法を教えてください (ハウスキーピングを含む)。
ティア
-R