This project is a collaborative experimental study conducted by Computer Engineering and Industrial Engineering students. The goal is to evaluate and compare the performance of various algorithms implemented in two different programming paradigms and languages: C# and Java.
The study focuses on measuring execution time, memory consumption, and compilation efficiency across multiple algorithmic categories. While the Computer Engineering team handled implementation and raw data generation, the Industrial Engineering team performed the statistical analysis of the results.
The following algorithms were tested with 30+ repetitions to ensure statistical significance:
- Insertion Sort: 180,000 elements
- Factorial (Iterative): n = 23
- Matrix Multiplication: 650 x 650 elements
- Prime Generation: Up to 2,500,000
- String Processing: Removing duplicate characters (310,000 chars)
- File I/O: Removing duplicate lines from a 95 MB file
To ensure a fair comparison, all tests were conducted in consistent environments monitoring:
- Runtime (ms): Execution duration for each repetition.
- Memory Usage (MB): Peak RAM consumption during execution.
- Compilation Time: Measured for both compiled environments.
- Statistical Rigor: Each test was repeated at least 30 times.
/CSharp_Solutions: Source codes for algorithms implemented in C#./Java_Solutions: Source codes for algorithms implemented in Java./Experimental_Results: Raw data in CSV/Excel format containing all measurement logs./Technical_Report: Detailed interpretation and statistical analysis of the findings.