Está en la página 1de 4

INSTITUTO TECNOLÓGICO DE CIUDAD JUÁREZ

ING. EN SISTEMAS COMPUTACIONALES

UNIDAD III.

Optimizar
Alumno: Rodolfo Valdez Carrillo Matricula: 19111747

Materia: Lenguajes y autómatas II

Profesora: Rosa Castañeda Monárrez

17/10/2022
Optimizar
Optimizar significa obtener los mejores resultados posibles obtenidos por medio
de una actividad o estrategia. Del este verbo deriva la palabra optimización, cuyo
concepto varía de acuerdo a las diferentes situaciones en las que se puede
desenvolver, como es la economía, la administración, las matemáticas y la informática.
En el ámbito de la informática, la optimización es la acción de optimizar las
diferentes funciones de un sistema informático como un software, un hardware, un
equipo o incluso un sitio web. En el caso del sitio web, la optimización sirve para que
esta pueda generar tráfico, aumentar las visitas y ganar visibilidad respecto a los
competidores.
Muchas estrategias de marketing online se enfocan en optimizar los sitios web
de empresas en los motores de búsqueda, ya sea para lograr un mayor alcance,
aumentar las ventas de sus productos, facilitar la información de la empresa o destacar
de la competencia.

Para qué sirve Optimizar


Sirve para mejorar el funcionamiento o desarrollo de un proyecto o servicio. De
esta forma, se resuelven ciertos problemas y se logra mejorar algún servicio o error
surgido durante el diseño de cualquier proyecto, sea este un sitio web o un spot
publicitario, por ejemplo.
Una buena optimización contribuye a presentar un resultado de calidad,
garantizar la satisfacción de un cliente, mejorar los procesos de ventas y establecer
mejores relaciones entre los integrantes de un equipo. Sin embargo, la
optimización requiere de tiempo y paciencia, por lo que es importante ser constante
para optimizar los recursos y procesos de la mejor forma posible.

Ejemplos de Optimizar
Un ejemplo que podríamos citar sería la optimización SEO de un sitio web. En
este caso, el cliente busca optimizar una tienda virtual para que su contenido logre
llegar a la mayor cantidad de personas posibles y, así, incrementar sus ventas. Busca
asesorarse con un profesional de marketing SEO, el cual se encargará de la
optimización de la tienda y alcanzar los objetivos propuestos por el cliente.

Para lograr una correcta optimización, el profesional se vale de ciertos recursos


disponibles en la web. Implanta diferentes estrategias para lograr optimizar el sitio web,
como búsqueda de palabras claves, enlaces internos y externos o títulos llamativos,
entre otros.
Optimización de código
La optimización de código es el conjunto de fases de un compilador que
transforman un fragmento de código en otro fragmento con un comportamiento
equivalente y que se ejecuta de forma más eficiente, es decir, usando menos recursos
de cálculo como memoria o tiempo de ejecución.
Es importante destacar que:

• La condición de tener un «comportamiento equivalente» es bastante onerosa, ya


que incluye también situaciones de error donde el comportamiento debe ser el
mismo. Pongamos como ejemplo una instrucción como (x = y / y). La tentación
es substituir esta expresión por (x =1), pero es necesario garantizar que la
variable y no puede ser igual a 0, porque entonces el código podría tener un
comportamiento diferente según el lenguaje (p.ej. división por cero).
• También es fundamental garantizar que el código no será menos eficiente que
antes de optimizarlo. Por ejemplo, el desenrollado de bucles (loop
unrolling, replicar N veces el código de un bucle) puede reducir el tiempo de
ejecución al simplificar instrucciones innecesarias (p.ej. saltos), aunque al
hacerlo puede hacer crecer el tamaño del código. Dado que el tamaño del
código puede tener consecuencias a nivel de acceso a caché y a la memoria,
podría pasar que el programa optimizado acabara siendo más lento que el
original.
Existen diferentes técnicas para optimizar el código, cada una de las cuales
intenta mejorar un aspecto diferenciado del código. En general pueden clasificarse en
dos categorías, las de flujo de datos (data-flow) y las de flujo de control (control-flow).
Las optimizaciones del flujo de datos pretenden mejorar la eficiencia de los
diferentes cálculos realizados en el programa: precalculando expresiones con valor
conocido en tiempo de compilación, reaprovechando cálculos ya realizados en otras
partes del código o suprimiendo cálculos innecesarios, … Por contra, las
optimizaciones del flujo de control intentan utilizar las instrucciones de salto condicional
e incondicional de la forma más eficiente posible (ya sea desplazando código o
eliminando saltos innecesarios).
Puede definirse también una tercera categoría, las optimizaciones de bucles (loop
optimization), intenta mejorar el rendimiento de las instrucciones iterativas
como for, while … do o repeat … until. En este caso, los cambios realizados al código
del bucle afectan tanto al flujo de datos como al flujo de control.
La ventaja de todas estas técnicas es que se aplican de forma automática cada vez
que compilamos nuestro código, de forma que podemos centrarnos en hacer nuestro
código legible en lugar de intentar optimizar a mano. Como dijo Donald Knuth, “la
optimización prematura es la raíz de todos los males”. Dejemos a los compiladores los
detalles de bajo nivel y dediquémonos a diseñar un buen algoritmo, que ya es un
trabajo suficientemente complejo.

Bibliografía

Optimizar. (27 de Agosto de 2020). Obtenido de


https://neoattack.com/neowiki/optimizar/
VILADROSA, R. C. (2 de Mayo de 2016). Optimización de código: un código más
eficiente. Obtenido de https://blogs.uoc.edu/informatica/optimizacion-de-codigo-
un-codigo-mas-eficiente/

También podría gustarte