Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Parallel programming in Go and Scala: A performance comparison
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
2015 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE creditsStudent thesis
Abstract [en]

    This thesis provides a performance comparison of parallel programming in Go and Scala. Go supports concurrency through goroutines and channels. Scala have parallel collections, futures and actors that can be used for concurrent and parallel programming. The experiment used two different types of algorithms to compare the performance between Go and Scala. Parallel versions of matrix multiplication and matrix chain multiplication were implemented with goroutines and channels in Go. Matrix multiplication was implemented with parallel collections and futures in Scala, and chain multiplication was implemented with actors.

    The results from the study shows that Scala has better performance than Go, parallel matrix multiplication was about 3x faster in Scala. However, goroutines and channels are more efficient than actors. Go performed better than Scala when the number of goroutines and actors increased in the benchmark for parallel chain multiplication.

    Both Go and Scala have features that makes parallel programming easier, but I found Go as a language was easier to learn and understand than Scala. I recommend anyone interested in Go to try it out because of its ease of use.

Place, publisher, year, edition, pages
2015. , p. 56
Keywords [en]
Go, Scala, parallelism, concurrency
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-996OAI: oai:DiVA.org:bth-996DiVA, id: diva2:824741
Subject / course
PA1418 Bachelor's Thesis - Large Team Software Engineering Project
Educational program
PAGPT Software Engineering
Supervisors
Examiners
Available from: 2015-06-29 Created: 2015-06-22 Last updated: 2018-01-11Bibliographically approved

Open Access in DiVA

fulltext(722 kB)3333 downloads
File information
File name FULLTEXT03.pdfFile size 722 kBChecksum SHA-512
a423f562336b52213676b64d2cf582ae32c05092c3e32dcdec1d932c7f9f046e8fac2b1024c63dc87b9f2ccfa2258a836f760e5c909bd4b5459ebc21cadf1c2a
Type fulltextMimetype application/pdf

By organisation
Department of Software Engineering
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 3339 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 2856 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf