nowfound

Life & fun · August 25, 2024

LF

Lock-free concurrent maps for Golang

Package lfmap provides generic concurrent lock-free map implementation, using immutable map and atomic swaps.

Lock-free concurrent maps for Golang launched on August 25, 2024 with 5 votes, #2,614 of 5,471 launches that month and more than 50% of that year's launches. The site was still online in September 2026, 2 years on.

What it does

The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go. Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed. Modules with tagged versions give importers more predictable builds. When a project reaches major version v1 it is considered stable. So far lfmap is 2-6 times slower than sync.Map , mostly because of underlying immutable ds performance. However, nice transactional properties may make it useful. Package lfmap provides generic concurrent lock-free map implementation, using immutable map and atomic swaps. Map is an instance of concurrent map. All Map methods are safe for…from pkg.go.dev

Does a similar job

all alternatives →
  • Whirlwind – Async concurrent hashmap for Rust2024 · github.com · ▲140

    Hey HN, this is Will and David from Fortress (https://news.ycombinator.com/item?id=41426998). We use a lot of async Rust internally, and created this library out of a need for an async-aware concurrent hashmap since there weren’t many available in the Rust ecosystem. Whirlwind is a sharded HashMap with a fully asynchronous API. Just as dashmap is a replacement for std::sync::RwLock, whirlwind aims to be a replacement for tokio::sync::RwLock. It has a similar design and performance characteristics to dashmap, but seems to perform better in read-heavy workloads with tokio's…

  • A pure C89 implementation of Go channels, with blocking selects2023 · github.com · ▲271

    A pure C (-std=c89) implementation of Go channels, including blocking and non-blocking selects. - GitHub - rochus-keller/CspChan: A pure C (-std=c89) implementation of Go channels, including blocking and non-blocking selects.

  • Multi-/BiKeyMap (Go Module)2025 · github.com · ▲14

    I just released the new version 0.4.0 which introduces a concurrent and a non-concurrent version of both lists.

  • A concurrent thread-safe hash map implemented in C++2017 · github.com · ▲17

    A concurrent thread-safe hash map implemented in C++ - kshk123/hashMap

  • A Golang Package for Consistent Hashing with Bounded Loads2017 · github.com · ▲50

    A Go library that implements Consistent Hashing and Consistent Hashing With Bounded Loads. - lafikl/consistent

  • Lockless Ringbuffer Built with Go Generics2022 · github.com · ▲44

    A single publisher, multi subscriber lockless ring buffer build with the new generics in Go 1.18beta.

More life & fun this month

the category →

Source: Show HN post ↗

Launched alongside, August 2024

the whole month →
  • Wordware▲9,848

    Your tool for building AI agents with natural language

    AI · 2024 · wordware.ai

  • If Youtube had actual channels.

    Life & fun · 2024 · ytch.xyz

  • Me.bot▲1,627

    The inspiring companion for your life

    AI · 2024 · me.bot

  • Upmetrics AI▲1,197

    Business plan & financial forecast using AI

    Work · 2024 · upmetrics.co

  • Jupitrr AI▲1,195

    Jupitrr AI turns raw talking videos into scroll-stopping content for coaches and consultants. Research, script, record, edit, and publish in one app.

    AI · 2024 · jupitrr.com

  • Hey there HN! We’re Joe and Stopa, and today we’re open sourcing InstantDB, a client-side database that makes it easy to build real-time and collaborative apps like Notion and Figma. Building modern apps these days involves a lot of schleps. For a basic CRUD app you need to spin up servers, wire up endpoints, integrate auth, add permissions, and then marshal data from the backend to the frontend and back again. If you want to deliver a buttery smooth user experience, you’ll need to add optimistic updates and rollbacks. We do these steps over and over for every feature we build, which can…

    Dev tools · 2024 · github.com