sprout | Go implementation of an in-memory bloom filter

 by   dsa0x Go Version: v0.0.3 License: MIT

kandi X-RAY | sprout Summary

kandi X-RAY | sprout Summary

sprout is a Go library. sprout has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

A bloom filter is a probabilistic data structure that is used to determine if an element is present in a set. Bloom filters are fast and space efficient. They allow for false positives, but mitigate the probability with an expected false positive rate. An error rate of 0.001 implies that the probability of a false positive is 1 in 1000. Bloom filters don't store the elements themselves, but instead use a set of hash functions to determine the presence of an element. To fulfil the false positive rate, bloom filters can be initialized with a capacity. The capacity is the number of elements that can be inserted into the bloom filter, and this cannot be changed. Sprout implements a bloom filter in Go. The bits of the filter are stored in a memory-mapped file. Sprout also allows attaching a persistent storage (boltdb and badgerdb) to store the key value pairs. Sprout also implement a scalable bloom filter described in a paper written by P. Almeida, C.Baquero, N. Preguiça, D. Hutchison. A scalable bloom filter allows you to grow the filter beyond the initial filter capacity, while preserving the desired false positive rate.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              sprout has a low active ecosystem.
              It has 24 star(s) with 2 fork(s). There are 2 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              sprout has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of sprout is v0.0.3

            kandi-Quality Quality

              sprout has no bugs reported.

            kandi-Security Security

              sprout has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              sprout is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              sprout releases are available to install and integrate.
              Installation instructions are not available. Examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of sprout
            Get all kandi verified functions for this library.

            sprout Key Features

            No Key Features are available at this moment for sprout.

            sprout Examples and Code Snippets

            Example
            Godot img1Lines of Code : 30dot img1License : Permissive (MIT)
            copy iconCopy
            package main
            
            import (
            	"fmt"
            
            	"github.com/dgraph-io/badger/v3"
            	"github.com/dsa0x/sprout"
            )
            
            func main() {
            
            	opts := &sprout.BloomOptions{
            		Err_rate: 0.001,
            		Path:     "bloom.db",
            		Capacity: 100000,
            	}
            	bf := sprout.NewBloom(opts)
            	defer bf.  
            Usage
            Godot img2Lines of Code : 25dot img2License : Permissive (MIT)
            copy iconCopy
            opts := &sprout.BloomOptions{
            		Err_rate: 0.001,
            		Capacity: 100000,
            	}
            // Normal Bloom Filter
            bf := sprout.NewBloom(opts)
            
            // Scalable Bloom Filter
            sbf := sprout.NewScalableBloom(opts)
            
            // initialize boltdb
            db := sprout.NewBolt("/tmp/test.db", 0  
            Installation
            Godot img3Lines of Code : 1dot img3License : Permissive (MIT)
            copy iconCopy
            go get github.com/dsa0x/sprout
              

            Community Discussions

            No Community Discussions are available at this moment for sprout.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install sprout

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/dsa0x/sprout.git

          • CLI

            gh repo clone dsa0x/sprout

          • sshUrl

            git@github.com:dsa0x/sprout.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link