1 unstable release

0.0.1 Nov 17, 2023
0.0.0 Nov 17, 2023

#25 in #radix-tree

MPL-2.0 license

19KB

Immutable Radix Tree

Porting Go's go-immutable-radix to Rust. Provides the iradix package that implements an immutable radix tree.

github Build codecov

docs.rs crates.io crates.io

license

English | 简体中文

Introduction

The package only provides a single Tree implementation, optimized for sparse nodes.

As a radix tree, it provides the following:

  • O(k) operations. In many cases, this can be faster than a hash table since the hash function is an O(k) operation, and hash tables have very poor cache locality.

  • Minimum / Maximum value lookups

  • Ordered iteration

A tree supports using a transaction to batch multiple updates (insert, delete) in a more efficient manner than performing each operation one at a time.

Installation

[dependencies]
iradix = "0.1"

License

iradix is under the terms of the Mozilla Public License (Version 2.0).

See LICENSE for details.

Copyright (c) 2023 Al Liu.

Copyright (c) 2015 HashiCorp, Inc.

Dependencies

~175KB