Live data from Hacker News

Viewing profile — puzpuzpuz-hn

puzpuzpuz-hn

HN member
Joined
Tue, Jan 11, 2022, 9:06 AM UTC
HN karma
28
Public activity
28 items

About puzpuzpuz-hn

No profile information was provided.

Recent public activity

  1. comment
    Comment #48673129

    Thanks! We do our best to be as transparent as possible when it comes to benchmarking.

  2. comment
    Comment #48673106

    Thanks for the reference. Will check!

  3. comment
    Comment #48673094

    Exactly! The task gets even trickier when you're benchmarking lots of systems of different kinds: cloud databases, self-hosted ones, embedded engines, CLI tools.

  4. comment
    Comment #47134201

    Allocation rates comparison is included. If your application writes into the map most of the time, you should go with plain map + RWMutex (or orcaman/concurrent-map). But if, for i…

  5. comment
    Comment #47134150

    Thanks. There are downsides in each approach, e.g. if you care about minimal allocation rate, you should go with plain map + RWMutex. So yeah, no silver bullet.

  6. comment
    Comment #47134139

    Unsafe usage in the recent xsync versions is very limited (runtime.cheaprand only). On the other hand, your point is valid and it'd be great to see standard library improvements.

  7. comment
    Comment #47134120

    My box is 12c/24t only, so it won't make any difference. But on a beefy box, it may improve performance in high cardinality key scenarios.

  8. comment
    Comment #47134113

    There are multiple GH issues around better sync.Map. Among other alternatives, xsync.Map is also mentioned. But Golang core team doesn't seem interested in sync.Map (or a generic v…

  9. comment
    Comment #47134103

    Would be great to see that - there are multiple GH issues for that. But so far, I'm not convinced that Google prioritizes community requests over its own needs.

  10. comment
    Comment #47134094

    Allocation rates are also compared. Long story short, vanilla map + RWMutex (or a sharded variant of it like orcaman/concurrent-map) is the way to go if you want to minimize alloca…

  11. comment
    Comment #47134065

    Yup, that's a valid point. I'll consider adding these metrics.

  12. comment
    Comment #47102497

    Benchmarks for 5 concurrent hash map implementations in Go: sync.Map, xsync.Map, cornelk/hashmap, alphadose/haxmap, and orcaman/concurrent-map. Workloads: read-heavy to write-heavy…

  13. story
  14. comment
    Comment #41145847

    Nice article, thanks for sharing it. It's a pity kdb+ has a DeWitt Clause, so that no one can benchmark it against other databases from the article. I wonder if they have any publi…

  15. comment
    Comment #38718106

    Hi, if you're asking about the hash table itself, then currently we use linear probing, i.e. k/v pairs with a collision are inserted sequentially starting with the hash%capacity in…

  16. comment
    Comment #38718092

    That's correct. In practice, there is an insignificant amount of hash collisions, so false comparisons are extremely rare. And thanks for sharing your experience with RH and the li…

  17. comment
    Comment #38712623

    > Unless I'm missing something, hashing function is fast compared to random bouncing around inside ram – very much faster then random memory accesses. So I can't see how it make a …

  18. comment
    Comment #38712512

    Thanks, Gavin, I'm pleased to hear that. And thanks for recommending my blog!

  19. comment
    Comment #38712487

    Thanks! We're still benchmarking Robin Hood hashing and are open to further experiments. The benchmarks look promising.

  20. story
  21. comment
    Comment #37715221

    > Obviously, it's a bit sad when due credit is not given where it should be The post actually references your paper. :)

  22. story
  23. comment
    Comment #37377848

    Yes, the core idea is pretty close to Epoch-based synchronization.

  24. story
  25. comment
    Comment #34837015

    Recently we've started using io_uring for disk access in QuestDB. So far, it's being used in CSV import, but we'd like to expand it to network and other disk access use cases. Apar…