go-evmap VS evmap

Compare go-evmap vs evmap and see what are their differences.

go-evmap

A Go implementation of Rust's evmap which optimizes for high-read, low-write workloads and uses eventual consistency to ensure that readers and writers never block each other. (by clarkmcc)

evmap

A lock-free, eventually consistent, concurrent multi-value map. (by jonhoo)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
go-evmap evmap
1 5
9 438
- -
0.0 1.8
over 1 year ago almost 3 years ago
Go Rust
- Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

go-evmap

Posts with mentions or reviews of go-evmap. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-12-18.

evmap

Posts with mentions or reviews of evmap. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-04.
  • Samsara, a safe Rust concurrent cycle collector
    4 projects | /r/rust | 4 Jan 2023
    The problem is, every single one of these half-dozen crates has at least one known major issue (including UAF), exactly like C++ implementations (which isn't surprising since it's the kind of things where the ownership isn't clear and then the borrow checker can't help us).
  • Rwlock with "snapshot" read
    1 project | /r/rust | 1 Jun 2022
    You could also try https://github.com/jonhoo/evmap
  • Jon Gjengset: Rust at speed – building a fast, concurrent database (2018)
    1 project | news.ycombinator.com | 7 Apr 2022
    In this video, one of the people that worked on creating Noria talks a bit about the implementation of it. Very interesting talk, highly recommend watching it.

    He talks, among other things, about lockless eventually consistent concurrent access to data shared between multiple threads. Jon has a crate that he made for this called evmap, for Noria and anyone else to use. GitHub repo https://github.com/jonhoo/evmap and crate https://crates.io/crates/evmap

    Jon has a bunch of other interesting videos about Rust on his channel as well. https://youtube.com/c/JonGjengset

  • Call for Help - Open Source Datom/EAV/Fact database in Rust.
    3 projects | /r/databasedevelopment | 4 Apr 2022
    He talks, among other things, about lockless eventually consistent concurrent access to data shared between multiple threads. Jon has a crate that he made for this called evmap, for Noria to use. GitHub repo https://github.com/jonhoo/evmap and crate https://crates.io/crates/evmap
  • go-evmap - A generic hash map for lock-free reads (Feedback requested)
    2 projects | /r/golang | 18 Dec 2021
    The data structure is actually very fascinating, it is optimized for high-read, low-write workloads where readers never have to coordinate with writers. This lack of coordination comes at a cost, "The trade-off exposed by this module is one of eventual consistency: writes are not visible to readers except following explicit synchronization. Specifically, readers only see the operations that preceded the last call to `Refresh` by a writer. This lets writers decide how stale they are willing to let reads get. They can refresh the map after every write to emulate a regular map, or they can refresh only occasionally to reduce the synchronization overhead at the cost of stale reads." (evmap readme)

What are some alternatives?

When comparing go-evmap and evmap you can also consider the following projects:

RxGo - Reactive Extensions for the Go language.

plrust - A Rust procedural language handler for PostgreSQL

haxmap - Fastest and most memory efficient golang concurrent hashmap

lespas - Les Pas, photo album app for Nextcloud user

hashmap - A Golang lock-free thread-safe HashMap optimized for fastest read access.

arc-swap - Support atomic operations on Arc itself

golang-set - A simple, battle-tested and generic set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp.

leftright-map-java - A (hopefully) Fast, (hopefully) Thread safe map inspired by evmap

algorithms - CLRS study. Codes are written with golang.

Simple-File-Manager - Easy app for managing your files without ads, respecting your privacy & security

einkbro - A small, fast web browser based on Android WebView. It's tailored for E-Ink devices but also works great on normal android devices.