Title of article :
A Comparison of Five Programming Languages in a Graph Clustering Scenario
Author/Authors :
Stein, Martin Karlsruhe Institute of Technology, Germany , Geyer-Schulz, Andreas 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 runtime 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 investigates 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. The paper 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 also show 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 , Programming Languages , Language Performance , Graph Clustering , Modularity
Journal title :
Journal of J.UCS (Journal of Universal Computer Science)
Journal title :
Journal of J.UCS (Journal of Universal Computer Science)