الفهرس | Only 14 pages are availabe for public view |
Abstract Multi-Staging for Object-Oriented Language Tamer Mohamed Abd El-Lateef Multi-staging programming (MSP) is one of the discerning approaches that emerged to improve software performance. It minimizes runtime overhead caused by abstraction mechanisms like functions, classes and recursion. It stages the program execution by postponing the evaluation of performancecostly code segments to a later point in which it can be reused. It originated in functional languages and currently, it targets object-oriented languages (like Java and C#). For this reason, the thesis introduces a multi-staging based compiler called Mint. This compiler is a Java language compiler but in the dress of multi-staging programming. It combines the advantages of multi-staging programming with those of Java as an object-oriented language. An increase in the number of MSP implementations is expected in the future. This calls for the need of a reliable way to compare those different implementations and assess their efficiency in software performance improvement. For this purpose, the thesis proposes a benchmark that includes a variety of classic and new example applications. Each application is implemented in Mint (MSP Java implementation) and Metaphor (MSP C# implementation). The results of the two implementations are compared and assessed. With the increasing complexity of a software application, it becomes inconvenient to entirely depend on the programmer sense in applying MSP to the application. Here comes the need for a clear defined approach or methodology in order to apply MSP in an accurate and systematic way. The thesis fulfils this need with a performance enhancement approach. This approach is represented by a set of steps for the programmer to follow throughout the process of applying MSP to a software application regardless of the application field and complexity. In other words, the programmer does not have to be an expert in the application to apply MSP. In order to illustrate and assess the efficiency of the proposed approach, it is applied to a case study. The case study represents the RSA encryption technique. The results of the case study prove the efficiency of the approach in boosting the application performance, and, in turn, this emphasizes the positive effect of MSP on software performance especially complex applications. Keywords Programming languages; Multi-staging programming; Object-oriented languages; Java; C#; Performance analysis. |