Abstract | ||
---|---|---|
This paper presents seven concurrent hash table implementations in Haskell, ranging from low-level synchronization mechanisms to high-level ones such as transactional memories. The hash tables were compared using different initial sizes, load factors, data types and hash functions. We also present a case study on implementing a color palette algorithm using the hash tables. The result of the comparison between the algorithms shows that the implementation using the STM Haskell transactional memory library and fine-grain synchronization provides the best performance and good scalability, followed by the implementation using lock striping and MVars. |
Year | DOI | Venue |
---|---|---|
2019 | 10.1016/j.scico.2018.06.004 | Science of Computer Programming |
Keywords | Field | DocType |
Software transactional memory,Haskell,Concurrent programming | Synchronization,Programming language,Computer science,Lock (computer science),Transactional memory,Data type,Haskell,Hash function,Scalability,Hash table | Journal |
Volume | ISSN | Citations |
173 | 0167-6423 | 0 |
PageRank | References | Authors |
0.34 | 3 | 5 |
Name | Order | Citations | PageRank |
---|---|---|---|
Rodrigo Duarte | 1 | 0 | 2.03 |
André Rauber Du Bois | 2 | 9 | 6.51 |
Maurício L. Pilla | 3 | 21 | 11.50 |
Gerson G. H. Cavalheiro | 4 | 73 | 11.37 |
Renata Reiser | 5 | 72 | 15.53 |