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

Please read the API documentation here__

__ https://docs.rs/ordermap/

|buildstatus| |crates|_

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

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

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 ordermap, a hash table that has following properties:

Does not implement (Yet)

Performance

OrderMap 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