Performance Analysis of Scripting Languages


Lok Shing Tam

Oral Defence Date: 



TH 434


Profs. Jozo Dujmovic,and James Wong


The goal of this project is to analyze performance of scripting languages using micro-benchmarks. The analyzed languages include JavaScript, Perl, PHP, Python, and Ruby. The performance measurements are performed using four micro-benchmarks: matrix multiplication benchmark, quick sort, bubble sort, and Fibonacci number generator. Contributions of this project include the following: 1. Development of software measurement environment suitable for eliminating measurement problems caused by processor clock management encountered in modern processors and operating systems. 2. Detailed performance analysis and comparison of scripting languages in the area of array processing. The obtained results provide insight into the state of the art of modern language processors (virtual machines and interpreters). In addition, the obtained results are suitable for performance comparison of scripting languages and compiled languages that were analyzed in previous research in this area. 3. Workload characterization of micro-benchmarks and an analysis of degree of their similarity. The main goal was to find the degree of correlation between various micro-benchmarks based on their implementations in various languages. The obtained results indicate significant correlation and open space for further research in the area of relationships between micro-benchmarks and standard industrial benchmarks.


Scripting languages, performance evaluation, array processing, micro benchmarks


Lok Shing Tam