Performance Evaluation of Separate Chaining for Concurrent Hash Maps

Abstract

Hash maps are a widely used and efficient data structure for storing and accessing data organized as key-value pairs. Multithreading with hash maps refers to the ability to concurrently execute multiple lookup, insert, and delete operations, such that each operation runs independently while sharing the underlying data structure. One of the main challenges in hash map implementation is the management of collisions. Arguably, separate chaining is among the most well-known strategies for collision resolution. In this paper, we present a comprehensive study comparing two common approaches to implementing separate chaining - linked lists and dynamic arrays - in a multithreaded environment using a lock-based concurrent hash map design. Our study includes a performance evaluation covering parameters such as cache behavior, energy consumption, contention under concurrent access, and resizing overhead. Experimental results show that dynamic arrays maintain more predictable memory access and lower energy consumption in multithreaded environments.

Bibtex

@Article{castro-mathematics25,
  author =    {A. Castro and M. Areias and R. Rocha},
  title =     {{Performance Evaluation of Separate Chaining for Concurrent Hash Maps}},
  journal =   {Mathematics},
  pages =     {1--19},
  volume =    {14},
  number =    {17},
  month =     {September},
  year =      {2025},
  note =      {Article number 2820},
}

Download Paper

PDF file
MDPI