{"repo":"openacid/slim","free":true,"listed":false,"github":"https://github.com/openacid/slim","clone":"git clone https://github.com/openacid/slim.git","description":"Surprisingly space efficient trie in Golang(11 bits/key; 100 ns/get).","language":"Go","stars":1923,"topics":["go","golang","memory","compacted","compress","datastructure","trie","tree"],"license":"MIT","category":"dev-tools","readme_excerpt":"Slim - surprisingly space efficient data types in Golang Slim is collection of surprisingly space efficient data types, with corresponding serialization APIs to persisting them on-disk or for transport. - Why slim - Performance and memory overhead - Synopsis - 1. Index on-disk key-values - 2. Sparse index - 3. Range scan - Filter mode and KV mode. - Try it - Versions - Who are using slim - Slim internal - Protobuf data structures - Regenerating protobuf code - Feedback and contributions - Authors - License Why slim As data on internet keeps increasing exponentially, the capacity gap between memory and disk becomes greater. Most of the time, a data itself does not need to be loaded into expensive main memory. Only the much more important information, WHERE-A-DATA-IS, deserve a seat in main memory. This is what slim does, keeps as little information as possible in main memory, as a minimized index of huge amount external data. - SlimIndex : is a common index structure, building on top of SlimTrie . - SlimTrie is the underlying index data structure, evolved from [trie][]. Features : - Minimized : 11 bits per key (far less than an 64-bits pointer!!). - Stable : memory consumption is stable in various scenarios. The Worst case converges to average consumption tightly. See benchmark. - Loooong keys : You can have VERY long keys( 16K bytes ), without any waste of memory(and money). Do not waste your life writing another prefix compression :) . ([aws-s3][] limits key length to 1024 b","default_branch":null,"files":null,"tree":[],"storefront":"/r/openacid","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/openacid/slim/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."}