Mejora del rendimiento de la reflexión estructural mediante técnicas de compilación Jit

  1. Redondo López, José Manuel
Dirixida por:
  1. Francisco Ortín Soler Director

Universidade de defensa: Universidad de Oviedo

Fecha de defensa: 29 de marzo de 2007

Tribunal:
  1. Juan Manuel Cueva Lovelle Presidente
  2. Darío Álvarez Gutiérrez Secretario
  3. José Baltasar García Pérez-Schofield Vogal
  4. José Manuel Gutiérrez Llorente Vogal
  5. Manuel Pérez Cota Vogal
Departamento:
  1. Informática

Tipo: Tese

Teseo: 136528 DIALNET

Resumo

Lenguajes dinámicos, como Python o Ruby, se ejecutan habitualmente sobre una máquina virtual implementada como un intérprete, aprovechando las ventajas que ofrecen, Esto, junto con el mayor número de operaciones que deben realizar durante la ejecución, implica que el rendimiento de las aplicaciones realizadas con estos lenjuajes es menor que el ofrecido por los lenguajes estáticos. Existen técnicas que mejoran considerablemente el rendimiento de las aplicacones que se ejecutan sobre máquinas virtuales, como la compilación Justo a Tiempo (Just in Time, JIT), permitiendo usar estas plataformas para el desarrollo de sistemas comerciales. Esta tesis empleará el mismo principio descrito para optimizar lenguajes dinámicos. Partiendo de una máquina virtual profesional con compilación JIT, establecemos modificaciones a su modelo computacional para incorporar las características de reflexión estructural ofrecidas por los lenguajes dinámicos, evaluando la mejora del rendimiento en tiempo de ejecución. Con ello trataremos de proporcionar un soporte integrado y eficiente para dichas características dentro de la máquina, de manera que sea posible emplearla para implementar y soportar lenguajes dinámicos sobre la misa, mejorando su rendimiento en tiempo de ejecución respecto a otras implemetnaciones existentes. La compatibilidad con el código heredado se mantendrá totalmente. Para todo ello, se diseña un nuevo modelo computacional que añade al modelo orientado a objetos basado en clases de la máquina de partida, otro modelo que utiliza principios del modelo de orientación a objetos basado en prototipos. Adicionalmente, se diseñan un conjunto de primitivas para soportar las características de reflexión estructural ofrecidas por los lenguajes dinámicos. Dichas primitivas se implementan de una forma integrada en su estructura, logrando que estas nuevas capacidades sean parte de la funcionalidad básica ofrecida por el sistema extendido. se modific