Compiling and Optimizing Scripting Languages

Google TechTalks1 HN recommenders · 2011–2020
21K views · talk · dated · Uploaded 2009-03-28

Paul Biggar's Google Tech Talk on compiling and optimizing scripting languages, drawn from his work on the phc ahead-of-time PHP compiler. He covers runtime typing, aliasing and code generation challenges, and argues AOT can compete with JIT.

Cited in PHP compiler and language-implementation discussions as an honest account of the real difficulties of compiling dynamic languages.

Watch on YouTube

4 comments from Hacker News

@nickik2011 · in “Facebook releases HHVM, 60 percent faster than its current PHP interpreter”

I think its importend to ask everything in these threads. I often find intressting questions answer in these threads (on reddit too). For JIT fans I recomend online-stalking of Mike Pall, here on Hacker News and on reddit. Well I think if you have a task like that a team should look into what other people where doing. Self, LuaJit, parrot, some smalltalk systems, strongtalk where all allready done or on the way in 2008. In a talk about phc ( [VIDEO] ) Paul Biggar talk about why AOT might be better then JIT. His reasoning was that the suffer from bad startup times and php is a language where the comon uscase are scripts that only run a short time. Anyway the static compiler certantly wasn't a bad way to get some speed fast. Getting some type in there is probebly the best thing you can do :) Where can I get some more information about tracelets. I have never seen litrature about it. Did you guys invent that yourselfs? I have been thinking about something simular. If you have a language that is dynamic but is suited for static compiling (dylan for example). On could write a compiler that does all kinds of optimization and then spits out a bytecode that is suited for the JIT. Then at runtime you let the JIT do the rest. Im not sure if this is such a good idea because the static compiler would take away some opportunities for the JIT to do an even better job. Thoughts anybody? Thats the problem I always have. For every language I think about how good it would work with pypy. Someb

@agumonkey2012 · in “PHP gets Generators”

I meant mine obviously ;) For the curious, here's the talk (1 hour) about ahead of time compilation of PHP: [VIDEO]

@sgrove2016 · in “Nectar: A Native JavaScript Compiler Inspired by Crystal Lang and Nim Lang”

There's actually a not-too-terrible talk going over some of the challenges of compiling PHP, and how initial promising gains turn out to be very difficult (as OP said) to maintain as you try to encompass the full language. Some great examples of disappointments and challenges! [VIDEO]

RecommendsView on HN
@ook2020 · in “Why Dark didn't choose Rust”

[LINK] - "Design and implementation of an ahead-of-time compiler for PHP" is the PhD thesis in question. A google tech talk related to this work is on youtube [VIDEO] You can find multiple other papers on google scholar where Paul was an author all related to programming languages, compilers etc.