Superoptimization of stack-based bytecode
Program optimization represents an important discipline within programming languages, particularly in compiler design. These techniques aim to enhance a program's performance and efficiency across various aspects such as the program's execution time, memory utilization or code size. Despit...
| Autor: | |
|---|---|
| Tipo de recurso: | tesis doctoral |
| Fecha de publicación: | 2025 |
| País: | España |
| Institución: | Universidad Complutense de Madrid (UCM) |
| Repositorio: | Docta Complutense |
| Idioma: | inglés |
| OAI Identifier: | oai:docta.ucm.es:20.500.14352/117678 |
| Acceso en línea: | https://hdl.handle.net/20.500.14352/117678 |
| Access Level: | acceso abierto |
| Palabra clave: | 004.43(043.2) Lenguajes de programación Informática (Informática) 1203.17 Informática |
| Sumario: | Program optimization represents an important discipline within programming languages, particularly in compiler design. These techniques aim to enhance a program's performance and efficiency across various aspects such as the program's execution time, memory utilization or code size. Despite their ability to generate highly efficient code, it is unusual that the produced code is truly optimal.Superoptimization is a compilation technique that addresses these inefficiencies by exploring all sequences that are equivalent to an initial sequence, searching for the one with the minimum cost. This approach enables optimizations that are often impossible to achieve using traditional optimization techniques. Howeves, exploring the entire solution space is extremely costly, making it very hard to adopt in prractice. nevertheless, superoptimization techniques can be used to identify potential inefficiencies in optimizers and develop new optimization techniques. Stack-based languages are ideal for studying these techniques, given their (generally) simple instruction set, and given that an optimal management of the stack is difficult... |
|---|