Title | Concurrency Analysis of Go and Java |
Publication Type | Conference Paper |
Year of Publication | 2020 |
Authors | Abhinav, P Y, Bhat, Avakash, Joseph, Christina Terese, Chandrasekaran, K |
Conference Name | 2020 5th International Conference on Computing, Communication and Security (ICCCS) |
Keywords | Benchmark testing, composability, Concurrency, Concurrent computing, Go, Instruction sets, Java, Libraries, matrix multiplication, Metrics, pagerank, pubcrawl, resilience, Resiliency, security, Task Analysis, Web pages |
Abstract | There has been tremendous progress in the past few decades towards developing applications that receive data and send data concurrently. In such a day and age, there is a requirement for a language that can perform optimally in such environments. Currently, the two most popular languages in that respect are Go and Java. In this paper, we look to analyze the concurrency features of Go and Java through a complete programming language performance analysis, looking at their compile time, run time, binary sizes and the language's unique concurrency features. This is done by experimenting with the two languages using the matrix multiplication and PageRank algorithms. To the extent of our knowledge, this is the first work which used PageRank algorithm to analyse concurrency. Considering the results of this paper, application developers and researchers can hypothesize on an appropriate language to use for their concurrent programming activity.Results of this paper show that Go performs better for fewer number of computation but is soon taken over by Java as the number of computations drastically increase. This trend is shown to be the opposite when thread creation and management is considered where Java performs better with fewer computation but Go does better later on. Regarding concurrency features both Java with its Executor Service library and Go had their own advantages that made them better for specific applications. |
DOI | 10.1109/ICCCS49678.2020.9277498 |
Citation Key | abhinav_concurrency_2020 |