{"id":35256303,"url":"https://github.com/chensoft/radixmap","last_synced_at":"2026-05-19T08:13:34.177Z","repository":{"id":232572860,"uuid":"752649842","full_name":"chensoft/radixmap","owner":"chensoft","description":"Rust-based Radix Tree for fast prefix lookup, supporting named param, glob and regex","archived":false,"fork":false,"pushed_at":"2025-06-07T07:04:04.000Z","size":183,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-10-28T00:38:34.646Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chensoft.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-04T12:31:26.000Z","updated_at":"2024-07-21T13:00:54.000Z","dependencies_parsed_at":"2024-07-21T14:27:41.968Z","dependency_job_id":"dadb55fb-a770-4d4f-a146-64c1b7cdce79","html_url":"https://github.com/chensoft/radixmap","commit_stats":null,"previous_names":["chensoft/radixmap","chensoft/preway"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/chensoft/radixmap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chensoft%2Fradixmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chensoft%2Fradixmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chensoft%2Fradixmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chensoft%2Fradixmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chensoft","download_url":"https://codeload.github.com/chensoft/radixmap/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chensoft%2Fradixmap/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28124757,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-30T02:00:05.476Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-30T08:02:05.779Z","updated_at":"2025-12-30T08:04:46.936Z","avatar_url":"https://github.com/chensoft.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"radixmap\n==========================\n\nThis crate is a rust-based radix tree implementation. Radix tree, also known as Trie, is a\nspace-optimized tree data structure for efficient information retrieval. Its key advantages\nare space optimization, fast prefix-based searches, and efficient memory usage. Radix trees\nare widely used, especially in HTTP routers.\n\n[![Crates.io][crates-badge]][crates-url]\n[![MIT licensed][license-badge]][license-url]\n[![Documentation][document-badge]][document-url]\n[![Build Status][macos-badge]][macos-url]\n[![Build Status][linux-badge]][linux-url]\n[![Build Status][windows-badge]][windows-url]\n\n[crates-badge]: https://img.shields.io/crates/v/radixmap.svg\n[crates-url]: https://crates.io/crates/radixmap\n[license-badge]: https://img.shields.io/badge/license-MIT-blue.svg\n[license-url]: https://github.com/chensoft/radixmap?tab=MIT-1-ov-file\n[document-badge]: https://docs.rs/radixmap/badge.svg\n[document-url]: https://docs.rs/radixmap\n[macos-badge]: https://github.com/chensoft/radixmap/actions/workflows/macos.yml/badge.svg\n[macos-url]: https://github.com/chensoft/radixmap/actions/workflows/macos.yml\n[linux-badge]: https://github.com/chensoft/radixmap/actions/workflows/linux.yml/badge.svg\n[linux-url]: https://github.com/chensoft/radixmap/actions/workflows/linux.yml\n[windows-badge]: https://github.com/chensoft/radixmap/actions/workflows/windows.yml/badge.svg\n[windows-url]: https://github.com/chensoft/radixmap/actions/workflows/windows.yml\n\n## Features\n\n- Fast prefix-based lookup\n- RadixMap and RadixSet support\n- Standard collection-compatible interfaces\n- Named param, glob, regex support\n- Pre-order, post-order, level-order iterations\n- Comprehensive unit tests for correctness\n\n## Example\n\n```rust\nuse bytes::Bytes;\nuse radixmap::{RadixMap, RadixResult};\n\nfn main() -\u003e RadixResult\u003c()\u003e {\n    let mut map = RadixMap::new();\n    map.insert(\"/api\", \"api\")?;\n    map.insert(\"/api/v1\", \"v1\")?;\n    map.insert(\"/api/v1/user\", \"user1\")?;\n    map.insert(\"/api/v2\", \"v2\")?;\n    map.insert(\"/api/v2/user\", \"user2\")?;\n\n    assert_eq!(map.get(b\"/api/v1/user\"), Some(\u0026\"user1\"));\n    assert_eq!(map.get(b\"/api/v2/user\"), Some(\u0026\"user2\"));\n\n    let mut iter = map.iter(); // pre-order by default\n\n    assert_eq!(iter.next(), Some((\u0026Bytes::from(\"/api\"), \u0026\"api\")));\n    assert_eq!(iter.next(), Some((\u0026Bytes::from(\"/api/v1\"), \u0026\"v1\")));\n    assert_eq!(iter.next(), Some((\u0026Bytes::from(\"/api/v1/user\"), \u0026\"user1\")));\n    assert_eq!(iter.next(), Some((\u0026Bytes::from(\"/api/v2\"), \u0026\"v2\")));\n    assert_eq!(iter.next(), Some((\u0026Bytes::from(\"/api/v2/user\"), \u0026\"user2\")));\n    assert_eq!(iter.next(), None);\n\n    Ok(())\n}\n```\n\n## Benchmark\n\n- MacBook Air, Apple M2 24G, Sonoma 14.4, Rust 1.78.0\n\n| Name              |              Time               |\n|:------------------|:-------------------------------:|\n| lookup-plain-16   | [29.149 ns 29.179 ns 29.215 ns] |\n| lookup-plain-64   | [34.797 ns 34.898 ns 35.017 ns] |\n| lookup-plain-512  | [51.162 ns 51.479 ns 51.917 ns] |\n| lookup-plain-1024 | [57.123 ns 57.782 ns 58.615 ns] |\n| insert-plain-16   | [1.3337 µs 1.3370 µs 1.3405 µs] |\n| insert-plain-64   | [7.8995 µs 7.9275 µs 7.9570 µs] |\n| insert-plain-512  | [103.13 µs 103.30 µs 103.52 µs] |\n| insert-plain-1024 | [255.19 µs 255.69 µs 256.26 µs] |\n\n- AWS c5.2xlarge, 8C 16G, Ubuntu 22.04, Rust 1.78.0\n\n| Name              |              Time               |\n|:------------------|:-------------------------------:|\n| lookup-plain-16   | [42.448 ns 42.469 ns 42.489 ns] |\n| lookup-plain-64   | [47.602 ns 47.614 ns 47.625 ns] |\n| lookup-plain-512  | [62.200 ns 62.213 ns 62.226 ns] |\n| lookup-plain-1024 | [67.797 ns 67.805 ns 67.814 ns] |\n| insert-plain-16   | [2.3793 µs 2.3807 µs 2.3826 µs] |\n| insert-plain-64   | [13.704 µs 13.709 µs 13.714 µs] |\n| insert-plain-512  | [204.39 µs 204.97 µs 205.73 µs] |\n| insert-plain-1024 | [482.81 µs 484.23 µs 486.10 µs] |","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchensoft%2Fradixmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchensoft%2Fradixmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchensoft%2Fradixmap/lists"}