Skip to content

My Bachelor's thesis titled "Evaluation of performance and productivity metrics of potential programming languages in the HPC environment".

License

Notifications You must be signed in to change notification settings

1wilkens/thesis-ba

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

thesis-ba

Abstract

This thesis aims to analyze new programming languages in the context of high-performance computing. In contrast to many other evaluations the focus is not only on performance but also on developer productivity metrics. The two new languages Go and Rust are compared with C as it is one of the two commonly used languages in HPC next to Fortran.

The base for the evaluation is a shortest path calculation based on real world geographical data which is parallelized for shared memory concurrency. An implementation of this concept was written in all three languages to compare multiple productivity and performance metrics like execution time, tooling support, memory consumption and development time across different phases.

Although the results are not comprehensive enough to invalidate C as a leading language in HPC they clearly show that both Rust and Go offer tremendous productivity gain compared to C with similar performance. Additional work is required to further validate these results as future reseach topics are listed at the end of the thesis.

Building instructions

The thesis is written in LaTex so you will need a working Tex installation (usually TexLive on *nix systems) to compile it successfully. For convenience there is a shell script in the tex folder build.sh which will compile everything (including sources) and output a single file thesis.pdf.

TL;DR

$ git clone http://github.com/1wilkens/thesis-ba.git
$ cd thesis-ba/tex
$ ./build.sh
$ <pdfviewer> thesis.pdf

LICENSE

All code written is licensed under the MIT license unless stated otherwise.

About

My Bachelor's thesis titled "Evaluation of performance and productivity metrics of potential programming languages in the HPC environment".

Resources

License

Stars

Watchers

Forks