A qualitative study on challenges faced in multithreading in Julia

Thumbnail Image




Journal Title

Journal ISSN

Volume Title


University of New Brunswick


Multithreading is defined as a technique that allows a single processor to execute multiple simultaneously. Developers working on high performance or resource-intensive applications may be required to write multithreaded code to take advantage of these performance benefits. Writing multithreaded code is more complex and difficult than writing single-threaded code. To help developers, it is important to understand their interests and difficulties they face. This thesis examines the challenges faced by developers in multithreading in Julia using qualitative content analysis. A total of 211 posts were collected from online discussion forums called Stack Overflow and Julia Discourse. The data were collected using inductive qualitative content analysis. The study found that developers face a lot of performance related issues for various reasons, one of the major ones being memory allocation. They also ask many questions about usage of macros, threads, etc. The results obtained are presented in the form of themes.