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

Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
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 N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfMIGUELANGELCONDORIMA4
 
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
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.ariannytrading
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
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
 
TALLER PAEC preparatoria directamente de la secretaria de educación pública
TALLER PAEC preparatoria directamente de la secretaria de educación públicaTALLER PAEC preparatoria directamente de la secretaria de educación pública
TALLER PAEC preparatoria directamente de la secretaria de educación públicaSantiagoSanchez353883
 
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
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 

Último (20)

Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
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 N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
 
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
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
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)
 
TALLER PAEC preparatoria directamente de la secretaria de educación pública
TALLER PAEC preparatoria directamente de la secretaria de educación públicaTALLER PAEC preparatoria directamente de la secretaria de educación pública
TALLER PAEC preparatoria directamente de la secretaria de educación pública
 
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
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.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