Go home now Header Background Image
Submission Procedure
share: |
Follow us
Volume 19 / Issue 3

available in:   PDF (240 kB) PS (129 kB)
Similar Docs BibTeX   Write a comment
Links into Future
DOI:   10.3217/jucs-019-03-0428


A Comparison of Five Programming Languages in a Graph Clustering Scenario

Martin Stein (Karlsruhe Institute of Technology, Germany)

Andreas Geyer-Schulz (Karlsruhe Institute of Technology, Germany)

Abstract: The recent rise of social networks fuels the demand for efficient social web services,whose performance strongly benefits from the availability of fast graph clustering algorithms. Choosing a programming language heavily affects multiple aspects in this domain, such as run-time performance, code size, maintainability and tool support. Thus, an impartial comparison can provide valuable insights that are also useful for software development in general. This article in-vestigates the languages C++, Java, C#, F# and Python (as well as its close variant Cython) in a controlled scenario: In each language, a graph clustering task is implemented and executed. Thepaper introduces the problem to be solved and gives an overview over the different characteristics of the languages. After a detailed description of the testing environment, we report runtime,memory and code size results and discuss them with respect to the characteristics mentioned before. The findings indicate C++ as the fastest language for the challenge at hand, but they alsoshow that Java, C# and F# come close under some circumstances. Furthermore, it becomes clear that the amount of code can be significantly reduced with modern languages like Python or F#.

Keywords: Benchmark, Graph Clustering, Language Performance, Modularity, Programming Languages

Categories: C.4, D.3, G.2.2