Performance Test Plan by Programming Language

Introduction

On the Programming Languages course I took in my 2nd year of university, there was a task of implementing a code that calculates multiples of two matrices using various programming languages and compared and analyzing them. There were five languages used at the time: C, Java, Fortran, Cobol, and Common Lisp. It took a lot of time to carry out the task, and although it was not a good result, it was an opportunity to experience various programming languages. Therefore, through various programming languages and methods, the execution time of input and output, sorting, and calculating is measured and analyzed.

Used Programming Language

If possible, I would like to use various programming languages. For examples:

  • General Programming Languages : C/C++, Java
  • Languages used for the task : Fortran, Cobol, Common Lisp
  • Languages on the rising : Python, Kotlin/Native
  • Other different languages : Pascal, Go, Ruby, etc.

Even in the same language, there can be many ways to implement it. If possible, I will try to use several methods.

Test Environment

I will use AWS EC2 for testing. Among the various instance types, c7i.large instances were selected. The T type instances have the advantage of being the cheapest, but their performance depends on CPU credit. Even if the cost increases, select the C type instance, a type of compute optimized instance. Among them, I selected a c7i.large instance that is currently the latest generation and uses Intel processors.

Of course, there are c7g instances that use AWS Graviton3 processors. It has the advantage of having a medium size and being cheaper than Intel processors, so I bought Savings Plans. I thought I should use Intel processors for the best performance. The hourly rate is expensive, so I’m going to use it as a Spot Instance.

The operating system chose Ubuntu. Of course, the Linux Master exam currently being challenged uses Red Hat-based Rocky Linux. Rocky Linux can also be used in AWS EC2, but I thought it might be inconvenient for me, who is familiar with Ubuntu, because there are differences in operating methods such as package management.

Considering the number of languages and the size of the test data, it is thought that the final completion time is unknown. I try to reflect on the results periodically. When I have time, I will organize the results by writing and testing the code.

Leave a Reply