GRENZE International Journal of Engineering and Technology
Vol. 11
(2025), Issue 1
Concurrency and Parallelism: A Comparative Study of Language Constructs and Libraries
Authors
Kuldeep Vayadande, Aditya Kulkarni, Amey Kulkarni, Arya Kulkarni, Shireen Kulkarni
Abstract
Concurrency and parallelism are important concepts in modern software development, enabling efficient utilization of hardware resources and improving application performance This study presents a comparative analysis of concurrency and parallelism features provided by different programming languages through their constructs and libraries are filled with. aiming to provide insight into their strengths and weaknesses. The test involves extracting data from 1000 websites simultaneously on four processors, using datasets including news articles and URLs Threading, multiprocessing of Python, and Asyncio, Java's threads, executable services. and parallel streams, and Go is tested for Goroteens and channels. The development time for each language/library combination is measured, and the results are analyzed to identify performance gaps and underlying factors. The Go Goroteens stand out as the best performers, closely followed by parallel Java flows and Python Ascincio. In contrast, the Python threading module exhibits the maximum amount of time it takes due to the Global Interpreter Lock (GIL) which limits true parallelism. The Java executor service and Go channels exhibit competitive performance, with concurrency playing well. The Python Asyncio library stands out for providing a high level of abstraction for asynchronous programming, resulting in better performance compared to traditional threading.The findings highlight the different concurrency and parallelism solutions offered by Go, Java, and Python, each with unique strengths and trade-offs. Developers are encouraged to consider language characteristics and workload requirements when choosing concurrency and parallelism.
Pages:
1694 - 1699