SlideShare une entreprise Scribd logo
1  sur  6
Compiladores  Optimización
Objetivo Mejorar objeto final, preservando significado del programa Factores a optimizar: Velocidad de ejecución Tamaño del programa Necesidades de memoria Se sigue una aproximación conservadora No se aplican todas las posibles optimizaciones, solo las “seguras”
Clasificación de las optimizaciones En función de  la dependencia de la arquitectura Dependientes de la maquina. Independientes de la maquina. ,[object Object]
Ejecución en tiempo de compilación.
Eliminación de redundancias.
Cambios de orden de ejecución, etc..En función del ámbito de aplicación Optimizaciones locales: Aplicadas dentro de un Bloque Básico. Sólo estudian las instrucciones del Bloque Básico actual. Optimizaciones globales: Aplicadas a más de un Bloque Básico. Consideran contenido y flujo de datos entre todos o parte de los Bloques Básicos Necesidad de recoger información sobre los Bloques Básicos y sus interrelaciones.

Contenu connexe

Tendances

Lenguaje estructurado de consulta
Lenguaje estructurado de consultaLenguaje estructurado de consulta
Lenguaje estructurado de consultaMaria Garcia
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARESAnel Sosa
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesJosé Antonio Sandoval Acosta
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...Hugo Alberto Rivera Diaz
 
Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEustakiu Padilla
 
Análisis Semántico con Cup
Análisis Semántico con CupAnálisis Semántico con Cup
Análisis Semántico con CupLAUNASA NOVENO B
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2perlallamas
 
Funciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de DatosFunciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de DatosJesus Parra
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfijaOmarzingm
 
Administración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosAdministración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosjocuva101
 
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosPortafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosHumano Terricola
 
Lenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLuis Fernando Aguas Bucheli
 

Tendances (20)

UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADORUNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Lenguaje estructurado de consulta
Lenguaje estructurado de consultaLenguaje estructurado de consulta
Lenguaje estructurado de consulta
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 
Analizador lexico
Analizador lexicoAnalizador lexico
Analizador lexico
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras Lineales
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 
Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensamblador
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 
Análisis Semántico con Cup
Análisis Semántico con CupAnálisis Semántico con Cup
Análisis Semántico con Cup
 
Gramática y autómatas
Gramática y autómatasGramática y autómatas
Gramática y autómatas
 
Tabla de símbolos
Tabla de símbolosTabla de símbolos
Tabla de símbolos
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
 
Funciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de DatosFunciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de Datos
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
Administración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosAdministración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueos
 
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosPortafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
 
Lenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de Programación
 

Similaire à Optimizacion de Compiladores

Optimización global
Optimización globalOptimización global
Optimización globalSaory Rma
 
BigNum - Programación 3 - UFM - FISICC
BigNum - Programación 3 - UFM - FISICCBigNum - Programación 3 - UFM - FISICC
BigNum - Programación 3 - UFM - FISICCEgdares Futch H.
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++ Ronal Palomino
 
Itcr el 3310 i semestre 2008 soluciones
Itcr el 3310  i semestre 2008 solucionesItcr el 3310  i semestre 2008 soluciones
Itcr el 3310 i semestre 2008 solucionesКатя Флорес
 
Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertido
Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertidoTaller n20 compiladores_optimizacion_codigo_9_julio_2020-convertido
Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertidoJOSSELINEMARIBEL
 
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionFundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionJosé Antonio Sandoval Acosta
 
Fundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la ProgramaciónFundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la ProgramaciónJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionJosé Antonio Sandoval Acosta
 
6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mvEcler Mamani Vilca
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++Tensor
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++Tensor
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++Tensor
 
Estimacion de Proyectos, Ingeniería de Software
Estimacion de Proyectos, Ingeniería de SoftwareEstimacion de Proyectos, Ingeniería de Software
Estimacion de Proyectos, Ingeniería de SoftwareMarvin Romero
 

Similaire à Optimizacion de Compiladores (20)

Tema3
Tema3Tema3
Tema3
 
Tema3
Tema3Tema3
Tema3
 
Optimización global
Optimización globalOptimización global
Optimización global
 
BigNum - Programación 3 - UFM - FISICC
BigNum - Programación 3 - UFM - FISICCBigNum - Programación 3 - UFM - FISICC
BigNum - Programación 3 - UFM - FISICC
 
Solemne 2 (con pauta)
Solemne 2 (con pauta)Solemne 2 (con pauta)
Solemne 2 (con pauta)
 
Tutorial c++
Tutorial c++Tutorial c++
Tutorial c++
 
EC2 Cómputo en la nube a profundidad
EC2 Cómputo en la nube a profundidad EC2 Cómputo en la nube a profundidad
EC2 Cómputo en la nube a profundidad
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
 
Itcr el 3310 i semestre 2008 soluciones
Itcr el 3310  i semestre 2008 solucionesItcr el 3310  i semestre 2008 soluciones
Itcr el 3310 i semestre 2008 soluciones
 
Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertido
Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertidoTaller n20 compiladores_optimizacion_codigo_9_julio_2020-convertido
Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertido
 
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionFundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
 
Fundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la ProgramaciónFundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la Programación
 
Pipelining
PipeliningPipelining
Pipelining
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
07 funciones
07 funciones07 funciones
07 funciones
 
6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++
 
Estimacion de Proyectos, Ingeniería de Software
Estimacion de Proyectos, Ingeniería de SoftwareEstimacion de Proyectos, Ingeniería de Software
Estimacion de Proyectos, Ingeniería de Software
 

Plus de Jorge

Multiplicación de matrices
Multiplicación de matricesMultiplicación de matrices
Multiplicación de matricesJorge
 
Proyecto final
Proyecto finalProyecto final
Proyecto finalJorge
 
Kruskal
KruskalKruskal
KruskalJorge
 
Coloreo de grafos
Coloreo de grafosColoreo de grafos
Coloreo de grafosJorge
 
Pruebabfs
PruebabfsPruebabfs
PruebabfsJorge
 
Coloreo
ColoreoColoreo
ColoreoJorge
 

Plus de Jorge (6)

Multiplicación de matrices
Multiplicación de matricesMultiplicación de matrices
Multiplicación de matrices
 
Proyecto final
Proyecto finalProyecto final
Proyecto final
 
Kruskal
KruskalKruskal
Kruskal
 
Coloreo de grafos
Coloreo de grafosColoreo de grafos
Coloreo de grafos
 
Pruebabfs
PruebabfsPruebabfs
Pruebabfs
 
Coloreo
ColoreoColoreo
Coloreo
 

Dernier

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 

Dernier (11)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Optimizacion de Compiladores

  • 2. Objetivo Mejorar objeto final, preservando significado del programa Factores a optimizar: Velocidad de ejecución Tamaño del programa Necesidades de memoria Se sigue una aproximación conservadora No se aplican todas las posibles optimizaciones, solo las “seguras”
  • 3.
  • 4. Ejecución en tiempo de compilación.
  • 6. Cambios de orden de ejecución, etc..En función del ámbito de aplicación Optimizaciones locales: Aplicadas dentro de un Bloque Básico. Sólo estudian las instrucciones del Bloque Básico actual. Optimizaciones globales: Aplicadas a más de un Bloque Básico. Consideran contenido y flujo de datos entre todos o parte de los Bloques Básicos Necesidad de recoger información sobre los Bloques Básicos y sus interrelaciones.
  • 7. Optimizaciones Locales 1. Ejecución en tiempo de compilación Pre calcular expresiones constantes (con constantes o variables cuyo valor no cambia) a = 9 + 8 a = 17 b = 7 b = 7 c= b + 2.5 c = 9.5 2. Reutilización de expresiones comunes a = b + c a = b + c d = a - e d = a - e e = b + c e = a f = a - e f = d 3. Propagación de copias Ante instrucciones “f = a”, sustituir todos los usos de f por a a = 50 + x a = 50 + x f = a b = a + c b = f + c d = a + m d = a + m m= a + d m = f + d
  • 8. Optimizaciones Globales Optimización Llamadas a Procedimientos Llamadas a procedimientos son muy costosas Cambios del ámbito de referencias Gestion de Regístros de Activación Paso de parámetros + asignación de datos locales Mejoras 1. Optimizar manejo de Registros de Activacion Minimizar copia de parámetros y no registros a salvar Uso almacenamiento estático si no hay llamadas recursivas 2. Expansión en línea. Expansión en línea Idea: Eliminar llamadas a procesos, “copiando” el cuerpo del proceso en el lugar donde es llamado Evita sobrecarga asociada con llamadas a procesos Permite optimizaciones adicionales -> el código llamado pasa a ser parte del código que lo llama Limitaciones Aumenta uso de memoria ⇒ útil en procesos pequeños y llamados desde pocos lugares -> si se llama en un único lugar (es frecuente), no supone coste de espacio adicional No aplicable en procesos recursivos
  • 9.
  • 10.