[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#994958: ITP: critnib -- ordered map data structure with lock-free reads

Package: wnpp
Severity: wishlist
Owner: Adam Borowski <kilobyte@angband.pl>
X-Debbugs-Cc: debian-devel@lists.debian.org

* Package name    : critnib
  Version         : 1.0
  Upstream Author : yours truly
* URL             : https://github.com/kilobyte/critnib
* License         : BSD-3
  Programming Lang: C
  Description     : ordered map data structure with lock-free reads
 Critnib is a data structure that provides a very fast equal and
 less-than/greater-than searches; it is a mix between DJBerstein's
 critbit and radix trees.  While in bad cases it has worse memory use
 than binary trees, it works well on real-life data which tends to
 have a limited number of "decision bits":
  * fully random: divergence happens immediately
  * malloc addresses: clumps of distinct bits in the middle
  * sequences: only lowest bits are filled
 This library ships only uintptr_t→uintptr_t mappings, optimized for
 reads from a very critical section but not so frequent writes.  Other
 variants also exist (such as fully lock-free writes, keys of arbitrary
 length), and can be added upon request.

Reply to: