Compiling and Optimizing Scripting Languages
Google TechTalks1 HN recommender · recommended in 1 month, 2011–2020
talk · advanced · 2011–2020 on HN
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.
Up next
5 mo on HNSimon Peyton Jones: Data Parallel Haskell
nuACM
5 HN recommender · 2010–2017
5 mo on HNP vs. NP and the Computational Complexity Zoo
hackerdashery
4 HN recommender · 2015–2026
1 mo on HNLucas Cavalcanti & Edward Wible - Exploring four hidden superpowers of Datomic
ClojureTV
1 HN recommend · 2015–2024
12 mo on HNReverse emulating the NES to give it SUPER POWERS!
suckerpinch
12 HN recommender · 2018–2025
4 mo on HNRustLatam 2019 - Without Boats: Zero-Cost Async IO
Rust Programming Language
5 HN recommender · 2019–2020
10 mo on HNConway's Game Of Life in APL
Dyalog
11 HN recommender · 2010–2024
13 mo on HNRich Harris - Rethinking reactivity
You Gotta Love Frontend
15 HN recommender · 2019–2026
12 mo on HNLexical Scanning in Go - Rob Pike
GoogleFOSSSydney
13 HN recommender · 2012–2025
12 mo on HNWilliam Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]
PapersWeLove
11 HN recommender · 2017–2026
10 mo on HNCppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”
CppCon
13 HN recommender · 2016–2024
8 mo on HNClasp: Common Lisp using LLVM and C++ for Molecular Metaprogramming
Google TechTalks
8 HN recommender · 2015–2024
7 mo on HNCompiling C to printable x86, to make an executable research paper
suckerpinch
8 HN recommender · 2018–2023
4 comments from Hacker News
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! ▶ this video
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 ▶ this video You can find multiple other papers on google scholar where Paul was an author all related to programming languages, compilers etc.
I meant mine obviously ;) For the curious, here's the talk (1 hour) about ahead of time compilation of PHP: ▶ this video
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 ( ▶ this 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