Awesome hash table implementation in just Rust (stable, no unsafe code).

Please read the API documentation here__

__ https://docs.rs/indexmap/

|buildstatus| |crates|_

.. |crates| image:: https://img.shields.io/crates/v/indexmap.svg .. _crates: https://crates.io/crates/indexmap

.. |buildstatus| image:: https://travis-ci.org/bluss/indexmap.svg .. _buildstatus: https://travis-ci.org/bluss/indexmap

Crate Name

This crate was originally released under the name ordermap, but it was renamed (with no change in functionality) to indexmap to better emphasize its features.

Background

This was inspired by Python 3.6's new dict implementation (which remembers the insertion order and is fast to iterate, and is compact in memory).

Some of those features were translated to Rust, and some were not. The result was indexmap, a hash table that has following properties:

Does not implement (Yet)

Performance

IndexMap derives a couple of performance facts directly from how it is constructed, which is roughly:

Two vectors, the first, sparse, with hashes and key-value indices, and the second, dense, the key-value pairs.

.. _PR45282: https://github.com/rust-lang/rust/pull/45282

Interesting Features

Where to go from here?

Ideas that we already did

Recent Changes

__ https://github.com/bluss/ordermap/pull/10

__ https://github.com/bluss/ordermap/pull/3