私は、メモリブロックで動作する仮想マシンの作成に興味があります。私は、ブロック内のどこでも読み書きが効率的な純粋なデータ構造で、メモリブロック(1MBと言う)をモデル化したいと思います。可変構造にはあまり興味がありません。そのような構造は存在しますか?Haskell:メモリブロックを効率的にモデル化する純粋なデータ構造ですか?
答えて
vectorパッケージには、不変(および変更可能)のボックス化されていないベクトルとボックス化されていないベクトルが用意されています。変更可能なものはIOとSTの両方から使用でき、Storableの任意のインスタンスのボックス化されていない配列を持つことができます。標準的な配列モジュールよりもずっと良いです。
しかし、効率的で不変な更新について述べたので、私はマップのようなデータ構造を使用することをお勧めします。おそらくHashMapはunordered-containersです。木のオーバーヘッドを避けるために、葉に小さいボックス化されていないベクトルを持つマップを持つことは価値があるかもしれません。
ユースケースによっては、開始点と終了点にO(1)アクセス権があり、シーケンスの途中でかなり良いアクセス時間を持つ標準Data.Sequenceもあります。
Data.Array.STは十分ですか?
彼は、不変のデータ構造に関心があると明示的に述べました。 –
@Niklasユーザー名 'Ana'は彼女が彼女かもしれないことを示唆しています。 –
@ダニエル:絶対に!私は本当に「彼または彼女」をより頻繁に使うように自分自身を調整すべきです。 –
- 1. ファイアベースの効率的なデータ構造化?
- 2. Zobristキーの効率的なデータ構造
- 3. リーダーボードの効率的なデータ構造
- 4. Cで構造体を効率的に初期化する
- 5. Elasticsearchでデータをモデル化する最も効率的な方法
- 6. 画像へのレンダリングを効率的に実装する純粋に機能的なデータ構造とは何ですか?
- 7. 大きなデータ構造を効率的に返す方法。
- 8. GraphQLで再帰的なデータ構造をモデル化する方法
- 9. グラフのサブセットを格納する効率的なデータ構造
- 10. Haskellは純粋な関数ですか?
- 11. キーワードを保持する最も効率的なデータ構造は何ですか?
- 12. 純粋なjavascriptでオブジェクトを正しく構造化するには?
- 13. Javaでメモリキャッシュの効率的なデータ構造を作成するには?
- 14. D純粋なクラスや構造体
- 15. Javaでスレッド化されたコメントを表現する最も効率的なデータ構造ですか?
- 16. 効率的なMongoDBデータベース構造
- 17. C++の効率的なテンプレート構造
- 18. 要素を交換するのに有効なHaskellのデータ構造ですか?
- 19. Pythonで最も効率的なグラフデータ構造は何ですか?
- 20. 純粋なAJAXのためのJSF 2アプリの構造化
- 21. Haskellの効率的なオーバーロード
- 22. Haskellの効率的なキュー
- 23. データ構造をスレッドセーフ(Java)にする最も効率的な方法
- 24. オブジェクトの効率的な検索を可能にするデータ構造
- 25. 挿入のための効率的なデータ構造
- 26. 双方向ランダムアクセスのためのC++効率的なデータ構造
- 27. Firebase - 効率的なインデックス作成のためのデータ構造
- 28. 効率的なadd、remove、random.choiceのためのPythonデータ構造
- 29. 効率的な辞書ベースのデータ構造
- 30. ipv4ストレージのデータ構造+アルゴリズム - プレフィックスの効率的な検索
おそらく 'Int32'のインデックスから' Map'ですか?あなたはコンパクトさのために最初のゼロを残すことができます。 –
何が問題なの? 'STUArray's?彼らは効率的で安全です(あなたがunsafelyでそれらを使用することを決めない限り)。 –
@DanielFischerはおそらく、「可変構造にはあまり興味がありません」とは何か問題があります。 – luqui