String Interner
Continuous Integration | Test Coverage | Documentation | Crates.io |
---|---|---|---|
A data structure to cache strings efficiently, with minimal memory footprint and the ability to assicate the interned strings with unique symbols. These symbols allow for constant time comparisons and look-ups to the underlying interned string contents. Also, iterating through the interned strings is cache efficient.
Contributing
Testing
Test the project using
cargo test
Memory Allocation Tests
To further test memory consumption and allocatios performed by the different string interner backends test the project as follows:
cargo test --features test-allocations -- --test-threads 1
- The
--features test-allocations
enables the memory allocations tests. - The
--test-thread 1
argument is required for the memory allocations tests since otherwise they interfere with each other causing them to randomly fail. - Use
--nocapture
to receive verbose output useful for debugging.
License
Licensed under either of
- Apache license, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Dual licence:
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as below, without any additional terms or conditions.