{"repo":"XiangpengHao/congee","free":true,"listed":false,"github":"https://github.com/XiangpengHao/congee","clone":"git clone https://github.com/XiangpengHao/congee.git","description":"Concurrent ART (adaptive radix tree)","language":"Rust","stars":182,"topics":["rust","concurrent","index","adaptive-radix-tree","containers","database","range-index","high-performance"],"license":"MIT","category":"databases-storage","readme_excerpt":"Congee A Rust implementation of ART-OLC concurrent adaptive radix tree. It implements the optimistic lock coupling with proper SIMD support. It only supports (and is optimized for) fixed sized 8 byte key; due to this specialization, congee has great performance -- basic operations are faster than most hash tables, range scan is an order of magnitude faster. The codebase is extensively tested with {address leak} sanitizer as well as libfuzzer. Congee's performance is continuously tracked here. Why Congee? - Fast performance, faster than most hash tables. - Concurrent, super scalable, it reaches 150Mop/s on 32 cores. - Super low memory consumption. Hash tables often have exponential bucket size growth, which often lead to low load factors. ART is more space efficient. Why not Congee? - Not for arbitrary key size. This library only supports 8 byte key. Design principles Congee aims to be a simple and reliable primitive for building database systems. Example with Congee: Example with raw Congee (u64 key and value): Performance Benchmarked with the conc-map-bench","default_branch":null,"files":null,"tree":[],"storefront":"/r/XiangpengHao","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/XiangpengHao/congee/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}