Název:
Advanced Optimizations in Dynamic Language Compiler
Překlad názvu:
Advanced Optimizations in Dynamic Language Compiler
Autoři:
Balaš, Daniel ; Zavoral, Filip (vedoucí práce) ; Bednárek, David (oponent) Typ dokumentu: Diplomové práce
Rok:
2012
Jazyk:
eng
Abstrakt: [eng][cze] Dynamic programming languages are designed to be interpreted and consequently perform a considerable amount of runtime type checking. In contrast, compilers for statically typed languages can remove this class of checks using information known at compile-time. This thesis aims to improve Phalanger, a compiler of PHP language for CIL, by introducing advanced static program analyses to its compilation process in order to remove some, or most, of dynamic operations that are now performed at runtime by Phalanger-compiled programs. We show that using a carefully designed control flow analysis and subsequent type analysis we are able to improve the performance of simple PHP programs several times.Dynamické programovací jazyky jsou navržené pro běh v interpretu a tím pádem provádějí značnou část typových kontrol za běhu. Oproti tomu překladače statických jazyků mohou značnou část této třídy kontrol odstranit za pomoci informací, které jsou jim známy v době překladu. Tato práce je zaměřena na zlepšení projektu Phalanger, který umožnuje překlad a běh programů implementovaných v jazyce PHP na platformě .NET, za pomoci statických programových analýz. Tyto analýzy umožní odstranit velkou část dynamických operací, které jsou nyní prováděny za běhu. V práci ukazujeme, že pečlivým navržením analýzy programového toku a následné typové analýzy jsme schopni několikanásobně zvýšit rychlost běhu jednoduchých PHP programů.