SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
ESCUELA DE INGENIERÍA
SEMESTRE MAYO – AGOSTO
2020 COMPILADORES
ACTIVIDAD EN CLASES N° 20
Nombre: Josseline Andrade Fecha: 09-07-2020
Realizar las siguientes actividades:
Contestar las siguientes preguntas relacionadas a la optimización de memoria.
✓ ¿Se garantiza un código efectivo al aplicar una optimización de código o puede
afirmar lo contrario, explique con su criterio esta particularidad?
Si se garantiza un código efectivo ya que la optimización de código aumenta la
velocidad del programa y si es posible, el programa debe exigir menos cantidad de recursos.
Por lo tanto, el código sería más eficaz.
✓ ¿Por qué es importante la optimización de código?
Porque trata de mejorar el código por lo que consumen menos recursos (es decir CPU,
memoria) y ofrecer una alta velocidad.
✓ ¿Qué se garantiza cuando se aplica la optimización de alto nivel?
1. El código de salida no debe, de ninguna manera, cambiar el sentido del programa.
2. Optimización debe aumentar la velocidad del programa y si es posible, posible, el
programa debe exigir menos cantidad de recursos.
3. Optimización debe ser rápido y no debe retrasar el proceso de compilación
general.
✓ ¿A nivel de proceso en qué aspectos puede ser utilizado un códigooptimizado?
➢ Al principio, los usuarios pueden cambiar o reorganizar el código o utilizar los
mejores algoritmos para escribir el código.
➢ Después de generar código intermedio, el compilador puede modificar el código
intermedio por dirección los cálculos y mejorar los lazos.
➢ Al tiempo que se produce la máquina de destino código, el compilado compilador
puede hacer uso de jerarquía de memoria y registros de la CPU.
✓ ¿Qué implica la optimización independiente de la máquina?
En esta optimización, el compilador toma en el código intermedio y transforma una parte
del código que no implique un registro de la CPU y/o ubicaciones de memoria absoluta.
✓ ¿Qué implica la optimización dependiente de la máquina?
Se realiza después de que el código de destino se ha generado y cuando el código se
transforma de acuerdo a la arquitectura del equipo de destino. Registros de la CPU se
trata y puede tener referencias de memoria absoluta en lugar de referencias relativas.
Optimizadores dependientes de la máquina que los esfuerzos para aprovechar al
máximo de jerarquía de memoria.
✓ ¿Dentro del análisis de bloques básicos, que aspectos se consideraninternamente?
Se consideran dos bloques básicos que no tienen instrucciones de salto entre ellos, es
decir, cuando la primera se ejecuta la instrucción, todas las instrucciones en el mismo
bloque básico será ejecutado en su secuencia de aparición sin perder el control de flujo
del programa.
✓ ¿A qué se refiere el flujo de control gráfico?
Un flujo de control gráfico se muestra cómo el control del programa se pasa entre los
bloques. Es una herramienta útil que ayuda en la optimización por ayudar a localizar
cualquier bucle no deseado en el programa.
✓ ¿Dentro de la optimización de bucle, qué aspectos son consideradosimportantes,
comente cada uno de ellos?
Código invariante: un fragmento de código que reside en el bucle y calcula el mismo
valor en cada iteración se denomina bucle de código invariante. Este código puede ser
trasladado fuera del circuito de ahorro que se calculan sólo una vez, en lugar de en cada
iteración.
Inducción análisis: una variable se denomina inducción variable si su valor es
modificado en el bucle de un bucle de valor invariable.
Fuerza reducción: Hay expresiones que consumen más ciclos de CPU, el tiempo y la
memoria. Estas expresiones deben reemplazarse con las expresiones más baratos sin
comprometer el resultado de expresión. Por ejemplo, la multiplicación (x * 2) es costosa
en términos de ciclos de CPU que (x << 1) y el mismo resultado.
✓ ¿A qué se refiere la denominación de código parcialmente muerto, como lo
interpreta la optimización de código?
Hay algunas instrucciones de código cuyos valores calculados se utilizan sólo en
determinadas circunstancias, es decir, a veces se utilizan los valores y a veces no lo son.
Estos códigos son conocidos como parte de código.
✓ ¿Qué significa una redundancia parcial?
Las expresiones redundantes se calculan más de una vez en ruta paralela, sin ningún
cambio de operandos. mientras que parcial de las expresiones redundantes se calculan
más de una vez en el camino, sin ningún cambio de operandos.
✓ Investigue sobre un proyecto de software que se haya planteado como
optimización de código, detalle sus características, componentes y alcances
(resumen corto)
PROCESO DE OPTIMIZACIÓN DEL RENDIMIENTO DE CÓDIGOS CIENTÍFICOS PARA
CÁLCULO DE ALTAS PRESTACIONES
Desde la aparición de los sistemas métricos en la antigüedad, los pensadores y científicos
han tratado de automatizar los cálculos. En todos estos avances que se han ido
produciendo a lo largo de la historia, el objetivo final era el mismo: tratar de mejorar las
prestaciones de los cálculos que se realizaban sobre ellos, bien mejorando el número de
operaciones que se podían realizar o bien reduciendo el tiempo que se tardaba en
realizar dichos cálculos. Por ello, el empleo de técnicas de optimización de cálculo ha sido
siempre un reto para los científicos. En la actualidad, la computación es uno de los
campos en los cuales se invierte más dinero y recursos dentro del sector de las
tecnologías de la información.
Es por ello que este proyecto fin de carrera tiene como objeto implantar una metodología
que permita a los programadores actuales mejorar la eficiencia y el rendimiento de los
códigos para aumentar la productividad de sus sistemas. Durante la primera parte de
este trabajo fin de carrera se verán las diferentes arquitecturas y lenguajes de
programación que han existido y que existen en la actualidad, puesto que son la base
para diseñar metodologías de programación que permitan la mejora del rendimiento de
códigos.
Durante la segunda parte de este trabajo fin de carrera, se diseñará una metodología que
permita al lector mejorar con técnicas sencillas y complejas el rendimiento de sus
códigos. Para ello, se va a mostrar diferentes técnicas de optimización de códigos
recogidas de la experiencia propia trabajando en este campo, así como de diferentes
cursos que he dado sobre esta materia en los últimos diez años en diversas
Universidades y Centros de Investigación [De Bustos, 2000-2006], como otras fuentes:
[Cortesi and Fier, 1998], [Gerber, Bik, Smith and Tian, 2006], [Koren, 2006],
[Snyder,2000], [Trill, 2000], [Vogelsang, 2005] y [Zacharov, 2001].
Este trabajo fin de carrera es de lectura obligada para aquellos científicos, usuarios y
administradores que quieran aprovechar las técnicas descritas en él para mejorar el
rendimiento y la eficiencia en los centros de cálculo y demostrar que implantar un código
eficiente no tiene que ser una tarea compleja y que todas estas técnicas descritas pueden
ser aplicadas en la realidad. (De Bustos, 2009)
✓ Realice un collage con las palabras más importantes sobre el tema optimización
de código. (similar al ejemplo propuesto)
Realizar un comentario personal sobre el funcionamiento que tiene la optimización
de código en el proceso de la de la compilación.
La optimización de código en la compilación es muy importante ya que aumenta la velocidad
del programa y exige menos recursos, y después de generar código intermedio el compilador puede
modificar el código intermedio por dirección los cálculos y mejorar los lazos por lo que ofrece una alta
velocidad. Así podemos decir que nos ofrece código de alta calidad.
Referencias
De Bustos, O. (2009). UPM. Obtenido de
http://oa.upm.es/40000/1/TFG_BUSTOS_MARTIN_OSCAR.pdf

Más contenido relacionado

Similar a Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertido

Taller n20 compiladores_optimizacion_codigo_1_julio_2021
Taller n20 compiladores_optimizacion_codigo_1_julio_2021Taller n20 compiladores_optimizacion_codigo_1_julio_2021
Taller n20 compiladores_optimizacion_codigo_1_julio_2021Bryan Chasiguano
 
Optimizacion de codigo
Optimizacion de codigoOptimizacion de codigo
Optimizacion de codigoAndresDvila
 
optimizacion de sistemas
optimizacion de sistemasoptimizacion de sistemas
optimizacion de sistemasNorberto Lugo
 
Optimizacioncodigo
OptimizacioncodigoOptimizacioncodigo
OptimizacioncodigoPablo Vargas
 
Optimizacion de sistemas
Optimizacion de sistemasOptimizacion de sistemas
Optimizacion de sistemasNorberto Lugo
 
Optimización de sistemas y funciones
Optimización de sistemas y funcionesOptimización de sistemas y funciones
Optimización de sistemas y funcionesAntonio Gallo
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)Yadith Miranda Silva
 
Optimización global
Optimización globalOptimización global
Optimización globalSaory Rma
 
Estimacion de proyectos de software
Estimacion de proyectos de softwareEstimacion de proyectos de software
Estimacion de proyectos de softwareMartin Perez
 
Unidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El ProgramaUnidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El ProgramaSergio Sanchez
 
La programación extrema
La programación extremaLa programación extrema
La programación extremaingridleona
 
Estimacion De Proyecto
Estimacion De ProyectoEstimacion De Proyecto
Estimacion De Proyectojavier
 

Similar a Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertido (20)

Taller n20 compiladores_optimizacion_codigo_1_julio_2021
Taller n20 compiladores_optimizacion_codigo_1_julio_2021Taller n20 compiladores_optimizacion_codigo_1_julio_2021
Taller n20 compiladores_optimizacion_codigo_1_julio_2021
 
Optimizacion de codigo
Optimizacion de codigoOptimizacion de codigo
Optimizacion de codigo
 
optimizacion de sistemas
optimizacion de sistemasoptimizacion de sistemas
optimizacion de sistemas
 
Optimizacioncodigo
OptimizacioncodigoOptimizacioncodigo
Optimizacioncodigo
 
Niveles de optimizacion de algoritmos
Niveles de optimizacion de algoritmosNiveles de optimizacion de algoritmos
Niveles de optimizacion de algoritmos
 
Optimizacion de sistemas
Optimizacion de sistemasOptimizacion de sistemas
Optimizacion de sistemas
 
Modelo cocomo
Modelo cocomoModelo cocomo
Modelo cocomo
 
Cocomo
CocomoCocomo
Cocomo
 
Cocomo
CocomoCocomo
Cocomo
 
Cocomo 1
Cocomo 1Cocomo 1
Cocomo 1
 
COCOMO
COCOMOCOCOMO
COCOMO
 
Optimización de sistemas y funciones
Optimización de sistemas y funcionesOptimización de sistemas y funciones
Optimización de sistemas y funciones
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
 
Presentación1.pptx
Presentación1.pptxPresentación1.pptx
Presentación1.pptx
 
Optimización global
Optimización globalOptimización global
Optimización global
 
Estimacion de proyectos de software
Estimacion de proyectos de softwareEstimacion de proyectos de software
Estimacion de proyectos de software
 
Unidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El ProgramaUnidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El Programa
 
La programación extrema
La programación extremaLa programación extrema
La programación extrema
 
Estimacion De Proyecto
Estimacion De ProyectoEstimacion De Proyecto
Estimacion De Proyecto
 
Unidad 3.pptx
Unidad 3.pptxUnidad 3.pptx
Unidad 3.pptx
 

Más de JOSSELINEMARIBEL

Procesamiento de imagenes morfologia
Procesamiento de imagenes morfologiaProcesamiento de imagenes morfologia
Procesamiento de imagenes morfologiaJOSSELINEMARIBEL
 
Transformaciones de intensidad
Transformaciones de intensidadTransformaciones de intensidad
Transformaciones de intensidadJOSSELINEMARIBEL
 
Josseline andrade procesamiento
Josseline andrade procesamientoJosseline andrade procesamiento
Josseline andrade procesamientoJOSSELINEMARIBEL
 
Graficas sencillas en_matlab
Graficas sencillas en_matlabGraficas sencillas en_matlab
Graficas sencillas en_matlabJOSSELINEMARIBEL
 
Ejercicios de programacion_con_matlab
Ejercicios de programacion_con_matlabEjercicios de programacion_con_matlab
Ejercicios de programacion_con_matlabJOSSELINEMARIBEL
 
Operaciones con matrices_en_matlab
Operaciones con matrices_en_matlabOperaciones con matrices_en_matlab
Operaciones con matrices_en_matlabJOSSELINEMARIBEL
 
Manual de instalacion_matlab
Manual de instalacion_matlabManual de instalacion_matlab
Manual de instalacion_matlabJOSSELINEMARIBEL
 
Clase 2 fundamentos de teoria de color
Clase 2 fundamentos de teoria de colorClase 2 fundamentos de teoria de color
Clase 2 fundamentos de teoria de colorJOSSELINEMARIBEL
 
Fundamentos de teoria del color
Fundamentos de teoria del colorFundamentos de teoria del color
Fundamentos de teoria del colorJOSSELINEMARIBEL
 
Taller n26 gramaticas_indep_contexto_p2_compiladores_30_julio_2020-convertido
Taller n26 gramaticas_indep_contexto_p2_compiladores_30_julio_2020-convertidoTaller n26 gramaticas_indep_contexto_p2_compiladores_30_julio_2020-convertido
Taller n26 gramaticas_indep_contexto_p2_compiladores_30_julio_2020-convertidoJOSSELINEMARIBEL
 
Taller n25 gramaticas_indep_contexto_compiladores_29_julio_2020-convertido
Taller n25 gramaticas_indep_contexto_compiladores_29_julio_2020-convertidoTaller n25 gramaticas_indep_contexto_compiladores_29_julio_2020-convertido
Taller n25 gramaticas_indep_contexto_compiladores_29_julio_2020-convertidoJOSSELINEMARIBEL
 
Interprete utilizando gold parser
Interprete utilizando gold parserInterprete utilizando gold parser
Interprete utilizando gold parserJOSSELINEMARIBEL
 
Gold parser josseline andrade
Gold parser josseline andradeGold parser josseline andrade
Gold parser josseline andradeJOSSELINEMARIBEL
 

Más de JOSSELINEMARIBEL (20)

Manual instalacion vegas
Manual instalacion vegasManual instalacion vegas
Manual instalacion vegas
 
Segementacion de imagenes
Segementacion de imagenesSegementacion de imagenes
Segementacion de imagenes
 
Procesamiento de imagenes morfologia
Procesamiento de imagenes morfologiaProcesamiento de imagenes morfologia
Procesamiento de imagenes morfologia
 
Transformaciones de intensidad
Transformaciones de intensidadTransformaciones de intensidad
Transformaciones de intensidad
 
Josseline andrade procesamiento
Josseline andrade procesamientoJosseline andrade procesamiento
Josseline andrade procesamiento
 
Uso de bucles_en_matlab
Uso de bucles_en_matlabUso de bucles_en_matlab
Uso de bucles_en_matlab
 
Taller matlab functions
Taller matlab functionsTaller matlab functions
Taller matlab functions
 
Graficas sencillas en_matlab
Graficas sencillas en_matlabGraficas sencillas en_matlab
Graficas sencillas en_matlab
 
Ejercicios de programacion_con_matlab
Ejercicios de programacion_con_matlabEjercicios de programacion_con_matlab
Ejercicios de programacion_con_matlab
 
Operaciones con matrices_en_matlab
Operaciones con matrices_en_matlabOperaciones con matrices_en_matlab
Operaciones con matrices_en_matlab
 
Manual de instalacion_matlab
Manual de instalacion_matlabManual de instalacion_matlab
Manual de instalacion_matlab
 
Taller 4 teoria _espectro
Taller 4 teoria _espectroTaller 4 teoria _espectro
Taller 4 teoria _espectro
 
Clase 2 fundamentos de teoria de color
Clase 2 fundamentos de teoria de colorClase 2 fundamentos de teoria de color
Clase 2 fundamentos de teoria de color
 
Fundamentos de teoria del color
Fundamentos de teoria del colorFundamentos de teoria del color
Fundamentos de teoria del color
 
Taller 29 grupal
Taller 29 grupalTaller 29 grupal
Taller 29 grupal
 
Automatas finitos
Automatas finitosAutomatas finitos
Automatas finitos
 
Taller n26 gramaticas_indep_contexto_p2_compiladores_30_julio_2020-convertido
Taller n26 gramaticas_indep_contexto_p2_compiladores_30_julio_2020-convertidoTaller n26 gramaticas_indep_contexto_p2_compiladores_30_julio_2020-convertido
Taller n26 gramaticas_indep_contexto_p2_compiladores_30_julio_2020-convertido
 
Taller n25 gramaticas_indep_contexto_compiladores_29_julio_2020-convertido
Taller n25 gramaticas_indep_contexto_compiladores_29_julio_2020-convertidoTaller n25 gramaticas_indep_contexto_compiladores_29_julio_2020-convertido
Taller n25 gramaticas_indep_contexto_compiladores_29_julio_2020-convertido
 
Interprete utilizando gold parser
Interprete utilizando gold parserInterprete utilizando gold parser
Interprete utilizando gold parser
 
Gold parser josseline andrade
Gold parser josseline andradeGold parser josseline andrade
Gold parser josseline andrade
 

Último

Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxYajairaMartinez30
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricoalexcala5
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfDiegoMadrigal21
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 

Último (20)

Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptx
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctrico
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdf
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 

Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertido

  • 1. ESCUELA DE INGENIERÍA SEMESTRE MAYO – AGOSTO 2020 COMPILADORES ACTIVIDAD EN CLASES N° 20 Nombre: Josseline Andrade Fecha: 09-07-2020 Realizar las siguientes actividades: Contestar las siguientes preguntas relacionadas a la optimización de memoria. ✓ ¿Se garantiza un código efectivo al aplicar una optimización de código o puede afirmar lo contrario, explique con su criterio esta particularidad? Si se garantiza un código efectivo ya que la optimización de código aumenta la velocidad del programa y si es posible, el programa debe exigir menos cantidad de recursos. Por lo tanto, el código sería más eficaz. ✓ ¿Por qué es importante la optimización de código? Porque trata de mejorar el código por lo que consumen menos recursos (es decir CPU, memoria) y ofrecer una alta velocidad. ✓ ¿Qué se garantiza cuando se aplica la optimización de alto nivel? 1. El código de salida no debe, de ninguna manera, cambiar el sentido del programa. 2. Optimización debe aumentar la velocidad del programa y si es posible, posible, el programa debe exigir menos cantidad de recursos. 3. Optimización debe ser rápido y no debe retrasar el proceso de compilación general. ✓ ¿A nivel de proceso en qué aspectos puede ser utilizado un códigooptimizado? ➢ Al principio, los usuarios pueden cambiar o reorganizar el código o utilizar los mejores algoritmos para escribir el código. ➢ Después de generar código intermedio, el compilador puede modificar el código intermedio por dirección los cálculos y mejorar los lazos. ➢ Al tiempo que se produce la máquina de destino código, el compilado compilador puede hacer uso de jerarquía de memoria y registros de la CPU.
  • 2. ✓ ¿Qué implica la optimización independiente de la máquina? En esta optimización, el compilador toma en el código intermedio y transforma una parte del código que no implique un registro de la CPU y/o ubicaciones de memoria absoluta. ✓ ¿Qué implica la optimización dependiente de la máquina? Se realiza después de que el código de destino se ha generado y cuando el código se transforma de acuerdo a la arquitectura del equipo de destino. Registros de la CPU se trata y puede tener referencias de memoria absoluta en lugar de referencias relativas. Optimizadores dependientes de la máquina que los esfuerzos para aprovechar al máximo de jerarquía de memoria. ✓ ¿Dentro del análisis de bloques básicos, que aspectos se consideraninternamente? Se consideran dos bloques básicos que no tienen instrucciones de salto entre ellos, es decir, cuando la primera se ejecuta la instrucción, todas las instrucciones en el mismo bloque básico será ejecutado en su secuencia de aparición sin perder el control de flujo del programa. ✓ ¿A qué se refiere el flujo de control gráfico? Un flujo de control gráfico se muestra cómo el control del programa se pasa entre los bloques. Es una herramienta útil que ayuda en la optimización por ayudar a localizar cualquier bucle no deseado en el programa. ✓ ¿Dentro de la optimización de bucle, qué aspectos son consideradosimportantes, comente cada uno de ellos? Código invariante: un fragmento de código que reside en el bucle y calcula el mismo valor en cada iteración se denomina bucle de código invariante. Este código puede ser trasladado fuera del circuito de ahorro que se calculan sólo una vez, en lugar de en cada iteración. Inducción análisis: una variable se denomina inducción variable si su valor es modificado en el bucle de un bucle de valor invariable. Fuerza reducción: Hay expresiones que consumen más ciclos de CPU, el tiempo y la memoria. Estas expresiones deben reemplazarse con las expresiones más baratos sin comprometer el resultado de expresión. Por ejemplo, la multiplicación (x * 2) es costosa en términos de ciclos de CPU que (x << 1) y el mismo resultado.
  • 3. ✓ ¿A qué se refiere la denominación de código parcialmente muerto, como lo interpreta la optimización de código? Hay algunas instrucciones de código cuyos valores calculados se utilizan sólo en determinadas circunstancias, es decir, a veces se utilizan los valores y a veces no lo son. Estos códigos son conocidos como parte de código. ✓ ¿Qué significa una redundancia parcial? Las expresiones redundantes se calculan más de una vez en ruta paralela, sin ningún cambio de operandos. mientras que parcial de las expresiones redundantes se calculan más de una vez en el camino, sin ningún cambio de operandos. ✓ Investigue sobre un proyecto de software que se haya planteado como optimización de código, detalle sus características, componentes y alcances (resumen corto) PROCESO DE OPTIMIZACIÓN DEL RENDIMIENTO DE CÓDIGOS CIENTÍFICOS PARA CÁLCULO DE ALTAS PRESTACIONES Desde la aparición de los sistemas métricos en la antigüedad, los pensadores y científicos han tratado de automatizar los cálculos. En todos estos avances que se han ido produciendo a lo largo de la historia, el objetivo final era el mismo: tratar de mejorar las prestaciones de los cálculos que se realizaban sobre ellos, bien mejorando el número de operaciones que se podían realizar o bien reduciendo el tiempo que se tardaba en realizar dichos cálculos. Por ello, el empleo de técnicas de optimización de cálculo ha sido siempre un reto para los científicos. En la actualidad, la computación es uno de los campos en los cuales se invierte más dinero y recursos dentro del sector de las tecnologías de la información. Es por ello que este proyecto fin de carrera tiene como objeto implantar una metodología que permita a los programadores actuales mejorar la eficiencia y el rendimiento de los códigos para aumentar la productividad de sus sistemas. Durante la primera parte de este trabajo fin de carrera se verán las diferentes arquitecturas y lenguajes de programación que han existido y que existen en la actualidad, puesto que son la base
  • 4. para diseñar metodologías de programación que permitan la mejora del rendimiento de códigos. Durante la segunda parte de este trabajo fin de carrera, se diseñará una metodología que permita al lector mejorar con técnicas sencillas y complejas el rendimiento de sus códigos. Para ello, se va a mostrar diferentes técnicas de optimización de códigos recogidas de la experiencia propia trabajando en este campo, así como de diferentes cursos que he dado sobre esta materia en los últimos diez años en diversas Universidades y Centros de Investigación [De Bustos, 2000-2006], como otras fuentes: [Cortesi and Fier, 1998], [Gerber, Bik, Smith and Tian, 2006], [Koren, 2006], [Snyder,2000], [Trill, 2000], [Vogelsang, 2005] y [Zacharov, 2001]. Este trabajo fin de carrera es de lectura obligada para aquellos científicos, usuarios y administradores que quieran aprovechar las técnicas descritas en él para mejorar el rendimiento y la eficiencia en los centros de cálculo y demostrar que implantar un código eficiente no tiene que ser una tarea compleja y que todas estas técnicas descritas pueden ser aplicadas en la realidad. (De Bustos, 2009)
  • 5. ✓ Realice un collage con las palabras más importantes sobre el tema optimización de código. (similar al ejemplo propuesto) Realizar un comentario personal sobre el funcionamiento que tiene la optimización de código en el proceso de la de la compilación. La optimización de código en la compilación es muy importante ya que aumenta la velocidad del programa y exige menos recursos, y después de generar código intermedio el compilador puede modificar el código intermedio por dirección los cálculos y mejorar los lazos por lo que ofrece una alta velocidad. Así podemos decir que nos ofrece código de alta calidad.
  • 6. Referencias De Bustos, O. (2009). UPM. Obtenido de http://oa.upm.es/40000/1/TFG_BUSTOS_MARTIN_OSCAR.pdf