• DocumentCode
    113943
  • Title

    Concurrency in Go and Java: Performance analysis

  • Author

    Togashi, N. ; Klyuev, Vitaly

  • Author_Institution
    Software Eng. Lab., Univ. of Aizu, Aizu-Wakamatsu, Japan
  • fYear
    2014
  • fDate
    26-28 April 2014
  • Firstpage
    213
  • Lastpage
    216
  • Abstract
    Go is a new programming language developed by Google. Although it is still young compared to other programming languages, it already has modern and powerful features inherited from existing programming languages, and some of these are similar to Java. Go is designed for quick time development. Concurrency is the one of the main its features. In this paper, we analyze the performance of Go, and compare it with Java from two aspects: compile time and concurrency. There are many studies about the performance analysis and comparison of programming languages, but only a few publications investigate Go. Some of Go performance evaluation are based on the experimental release of Go. To analyze concurrency features, we implement simple matrix multiplication programs in both Go and Java. Java implementation uses Java Thread, and Go implementation uses Gor-outine and Channel. From the experiment, Go derived better performance than Java in both compile time and concurrency. Moreover, Go code shows the ease of concurrent programming. Go is still young, but we are convinced that Go will become the mainstream.
  • Keywords
    Java; concurrency control; program compilers; Channel; Go code; Google; Goroutine; Java thread; compile time; concurrency; concurrency features; performance analysis; programming language; Benchmark testing; Concurrent computing; Educational institutions; Java; Message systems; Programming; Concurrency; Evaluation; Go; Java; Performance;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Information Science and Technology (ICIST), 2014 4th IEEE International Conference on
  • Conference_Location
    Shenzhen
  • Type

    conf

  • DOI
    10.1109/ICIST.2014.6920368
  • Filename
    6920368