good icon indicating copy to clipboard operation
good copied to clipboard

Thread-safe (lock-free) maps

Open kirillDanshin opened this issue 8 years ago • 3 comments

We want to get rid from using mutex when working with maps. We need to fix concurrent read/write in maps. To do that we need to remove throws about concurrent write/read-write, fix growWork and evacuate() and write as many as possible tests for maps.

  • [x] basic implementation
  • [ ] tests

kirillDanshin avatar Dec 21 '16 20:12 kirillDanshin

See also https://github.com/golang/go/issues/18177.

bcmills avatar Feb 02 '17 22:02 bcmills

@bcmills thanks. glad to see that Golang team is working on this. notice, that this issue is about replacing maps to its thread-safe and lock-free implementation, so it's not about adding something, it's about fixing original implementation while saving backward compatibility. but, as you can see here, Go will not support thread-safe lock-free map implementation. but I'll do.

kirillDanshin avatar Feb 02 '17 22:02 kirillDanshin

also, about the status of this issue. now I'm testing it in my stage and production environments, there's no data corruptions, no panics etc, so I think it's ready.

upd: when I'm done with testing, I'll push the implementation, and I should write some tests (about 50-100 should be enough).

kirillDanshin avatar Feb 02 '17 22:02 kirillDanshin