Javascript must be enabled for the correct page display

HandCrank: Hybrid Partial Evaluation for JavaScript

Gunnink, Marco (2021) HandCrank: Hybrid Partial Evaluation for JavaScript. Master's Thesis / Essay, Computing Science.

[img]
Preview
Text
mCS_2021_GunninkM.pdf

Download (783kB) | Preview
[img] Text
toestemming.pdf
Restricted to Registered users only

Download (120kB)

Abstract

JavaScript is the language for creating dynamic web content, which is becoming increasingly more complex. At the same time, users of websites expect them to respond fast, requiring good runtime performance. One method for improving the performance of computer programs is partial evaluation. Partial Evaluation is of particular interest for Domain-Specific Languages (DSLs), where a partial evaluator can improve the performance of programs written in a DSL by eliminating the overhead of the DSL interpreter. However, this technique is not easy to implement for such a complicated language as JavaScript, and may still lead to problems like code explosion. An alternative approach, called Hybrid Partial Evaluation (HPE) [Amin Shali and William Cook. ‘Hybrid Partial Evaluation’] offers to alleviate these problems. This thesis describes a semantics of HPE for JavaScript and HandCrank: an implementation based on it. In addition to the existing semantics of HPE, we offer a novel implementation of non-local control flow and tracking of object modification in HPE. The implementation is tested on a number of benchmark programs to see if their specialized versions perform better than the original ones. The results of these benchmarks show that not all partially evaluated programs are faster, but in certain cases, Hybrid Partial Evaluation can result in increased performance.

Item Type: Thesis (Master's Thesis / Essay)
Supervisor name: Storm, T. van der and Renardel de Lavalette, G.R.
Degree programme: Computing Science
Thesis type: Master's Thesis / Essay
Language: English
Date Deposited: 07 Apr 2021 15:05
Last Modified: 07 Apr 2021 15:05
URI: https://fse.studenttheses.ub.rug.nl/id/eprint/24219

Actions (login required)

View Item View Item