Files in this item

FilesDescriptionFormat

application/pdf

application/pdfDAKKAK-DISSERTATION-2020.pdf (4MB)Restricted Access
(no description provided)PDF

Description

Title:Compiling high-level scripting languages to performant code
Author(s):Dakkak, Abdul Majed
Director of Research:Hwu, Wen-Mei W
Doctoral Committee Chair(s):Hwu, Wen-Mei W
Doctoral Committee Member(s):Wickham-Jones, Charles Thomas; Adve, Vikram S; Padua, David A
Department / Program:Computer Science
Discipline:Computer Science
Degree Granting Institution:University of Illinois at Urbana-Champaign
Degree:Ph.D.
Genre:Dissertation
Subject(s):compiler
high-performance
high-level
scripting
symbolic
typesystem
wolfram
mathematica
cas
Abstract:The popularity of data- and scientific-oriented applications, the abundance of on-demand compute resources, and the scarcity of domain expert programmers have given rise to high- level scripting languages. These high-level scripting languages offer a fast way to translate ideas into code, but tend to incur a heavy performance overhead. To alleviate the performance penalty, each implementation of these languages often offer a compilation path to a subset of the language. In this thesis, we present the design and implementation of the Wolfram Language compiler, the production compiler for the Wolfram Language. We show how popular language features and runtime behavior, expected by Wolfram Language developers, are efficiently implemented within the compiler. We then show how the compiler provides a friction-less path to migrate programs from the interpreter to the compiler. We evaluate the compiler and show that the compiled code matches the performance of a highly tuned hand-written C code. Unlike existing techniques that compile a subset of the language, the compiler sup- ports the entirety of the Wolfram Language. We show why the compiler is a new model of development for programmers and showcase some applications of the compiler. The compiler has been released as a prominent feature of the Wolfram Engine, is readily available to developers, and is used by internal and external users to drive Wolfram Language features and implementations.
Issue Date:2020-07-17
Type:Thesis
URI:http://hdl.handle.net/2142/108715
Rights Information:Copyright 2020 Abdul Dakkak
Date Available in IDEALS:2020-10-07
Date Deposited:2020-08


This item appears in the following Collection(s)

Item Statistics