Anders Järleberg, Kim Nilsson

Go, F# och Erlang

Sammanfattning

Denna rapport undersöker de tre språken Erlang, F# och Go, som alla har någon form av stöd för parallell exekvering. Syftet med rapporten var att undersöka styrkorna hos dessa tre språk samt i vilka situationer de är lämpliga. Vi mäter prestanda och skalbarhet hos ett par olika parallella algoritmer och jämför dessa med en sekventiell version skriven i Java. Vi undersöker även faktorer rörande underhåll av koden.

Vi fann att vi kunde uppnå en hög skalbarhet på en flerkärnig plattform på ett relativt enkelt sätt. I de flesta praktiska situationerna är det dock sannolikt inte prestandan och skalbarheten som bestämmer vilket språk som är mest lämpligt, utan istället en kombination av språkets funktionalitet samt yttre faktorer som standardbibliotek eller plattformsberoende.