私は組み込みアプリケーションを作成していますが、私が使用する環境では残念ながらC++ 11のサポートはありません。hash_map/unordered_mapの分離バージョン
ハッシュ/順序付けされていないマップ(通常はstd::map
が性能上の理由で実行されません)を実装する必要がありますが、それをきれいに行う方法が見つからないようです。
Boostは、実質的にライブラリ全体を持ち込むことなく働きたくありません。 SGIの元のSTL hash_map
でもいくつかのヘッダーが必要で、標準ライブラリの機能が重複し、あいまいな関数呼び出しが発生します。それは本当の混乱です。
バージョン管理、品質管理、V & Vなど既存の標準ライブラリを活用し、すべてのファイルと同じフォルダに置くことができるヘッダーファイルがほんの少しだけ必要です他のソース/ヘッダーファイル。そんなことが存在するのですか、私は希望がありませんか?私は長い間捜し求めましたが、空手になってきました。
ありがとうございました。私は必要があれば確かにさらに明確にすることができます。
カスタムアロケータで 'std :: map'を使ってみましたか?おそらくあなたのパフォーマンスの問題はすべて修正されているはずです。 –
私の問題は、マップから常に新しい要素を削除/配置することです。これが起こるたびに物事を並べ替える必要がある場合は、遅すぎます。それはカスタムアロケータで解決できますか?私の無知で申し訳ありませんが、私は一度も 'std :: allocator'を使用したことはありません。 – llakais
バランシングが顕著なパフォーマンス上の問題を引き起こしたケースは一度もありませんでした。それが本当ですか? RBツリーのバランシングは非常に高速で、ツリーが非常に片側にある場合にのみバランスがとれます。 –