Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porGregorio Maidana Castellanos Modificado hace 9 años
1
Integrantes: García Reséndiz Itzel Alejandra Reyes Castellanos Francisco Javier Integrantes: García Reséndiz Itzel Alejandra Reyes Castellanos Francisco Javier
2
Para aumentar la eficiencia de un programa es importante conocer la cantidad de recursos utilizados. como tiempo de ejecución consumo de memoria algoritmo utilizado estructura del programa Existen varias medidas Cual medida de eficiencia se está considerando como prioridad Comparación entre los lenguajes C++, Java, Python
3
La eficiencia de nuestra solución dependerá de la cantidad de recursos utilizados Los recursos consumidos por un programa dependen del algoritmo utilizado. Problema Construcción del código fuente Algoritmo Solución de nuestro problema Sin embargo el mismo algoritmo puede comportarse de forma diferente dependiendo del lenguaje de programación utilizado. ¿Qué LENGUAJE USAR?
4
1)Lenguajes son seleccionados por razones equivocadas. 2)La eficiencia del lenguaje puede depender de parámetros a)plataforma sobre la que se ejecuta b)la versión de las librerías c)la versión del compilador/intérprete/máquina virtual 3)Dado que depende del compilador/intérprete/máquina virtual
5
Lenguajes que dan libertad en la gestión Propósito para el que fue creado dicho lenguaje Propósito de nuestro algoritmo. Buenas prácticas de Software. En nuestro análisis se resolverá un mismo problema utilizado un algoritmo homogéneo para realizar pruebas pero antes consideramos importante conocer los lenguajes de programación y el propósito para el que fueron creados.
6
C++ C++ es un lenguaje imperativo Orientado a objetos derivado del C Propósito general basado en el C Se han añadido nuevos tipos de datos, clases, plantillas, mecanismo de excepciones, sistema de espacios de nombres, sobrecarga de operadores, referencias, operadores para manejo de memoria persistente, y algunas utilidades adicionales de librería
7
JAVA Propósito general Concurrente Orientado a objetos Diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible.
8
PYTHON Python es un lenguaje de programación interpretado (permite la compilación expresa a bytecode intermedio) cuya filosofía hace hincapié en una sintaxis que favorezca un código legible. Se trata de un lenguaje de programación multiparadigma Orientación a objetos Programación imperativa (en menor medida) programación funcional. Es un lenguaje interpretado Usa tipado dinámico Multiplataforma
9
RUST Rust es un lenguaje poco conocido entre las personas Rust es un lenguaje compilado de propósito general y multi paradigma Desarrollado por mozilla, en el 2006 se tenia la idea en el 2009 se toma el proyecto y finalmente en el 2010 se dio a conocer oficialmente. Rust es un lenguaje que el primer compilador para este programa se desarrollo en Ocaml ( O bjective C ategorical A bstract M achine L anguage. Es un lenguaje de programación avanzado de la familia de los lenguajes ML),ML El segundo compilador para este fue diseñado en el mismo lenguaje lo cual hace pensar que en verdad es muy bueno
10
ELEMENTOS DEL TRABAJO Y METODOLOGÍA Planteamiento del problema y código fuente
11
Flavio Josefo fue un historiador romano de origen judío. Durante las guerras judías-romana del siglo I d. C, que estaba en una cueva con otros soldados (40 hombres en total) rodeado de tropas romanas enemigas. Decidieron suicidarse contando cada tercer hombre. Cada uno de ellos designado como tal a suicidarse... Josefo, al no querer morir, logró colocarse en la posición de la última siendo el sobreviviente.
12
El objeto de la cadena contiene una referencia a una persona (en primer lugar) que no es más que uno de los miembros de una lista enlazada circular. Cada objeto persona tiene una referencia a su anterior y la próxima persona (siguiente) en el círculo. Cuando se inicia el bucle de matanza, se establece un umbral (enésimo). El recuento comienza con 1 a partir de la primera persona. Cada persona cuando se le toque va a gritar, comprueba si el recuento de gritar es menor que el umbral Si es menor, la persona simplemente devuelve un recuento incrementado. Si los dos son iguales, la persona en efecto se suicida. Al hacerlo, la persona, actualiza la referencia siguiente de su anterior, y la referencia anterior de su lado de tomarse a sí mismo fuera del círculo y mantener el círculo constante, volviendo finalmente un grito de 1 (que es lo que la siguiente persona en la lista gritará).
13
Fig. 1 Código en C++ línea 1-24
14
Fig. 2. Código en Java línea 1-24
15
Fig. 3. Código en Python línea 1-33
16
fn main() { // programa como funcionamiento de calculadora de operaciones básicas // `+` o `-` Sumar y restar por 1 // `*` o `/`multiplicar y dividir por dos let program = "+ + * - /"; let mut accumulator = 0; for token in program.chars() { match token { '+' => accumulator += 1, '-' => accumulator -= 1, '*' => accumulator *= 2, '/' => accumulator /= 2, _ => { /* ignore everything else */ } } println!("The program \"{}\" calculates the value {}", program, accumulator); }
17
Código fuente Si alguien esta interesado en probar los códigos al final de la exposición Por usb
18
LenguajeVersion Lineas de codigo tiempo por iteración (microsegundos ) Java Sun JDK 1.6.0.03861.6 C++ 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2- 16ubuntu2) Compiled with optimisation - O3 863 Python 2.5.141192 Resultados del blog http://blog.dhananjaynene.com/2008/07/performance-comparison-c- java-python-ruby-jython-jruby-groovy/ Todos los resultados se observaron en el bloc de notas con los siguientes sistemas operativos de configuración: Ubuntu Gutsy Gibbon 7.10 Kernel: CPU 2.6.22-15-generic: Intel (R) Core (TM) Duo CPU T2600 @ 2.16GHz RAM: 2 GB
19
Java y C ++ mas rápidos: El rendimiento de Java y C ++ fueron más rápidos que Python con una gran diferencia Java es más rápido que C ++: el rendimiento de C ++ empeoró en casi un 40%
20
Esto sólo puede ser tratado como un punto de referencia particular. Los resultados son variables según plataforma Se aconseja prudencia al sacar conclusiones generales en base a este punto de referencia. Nota:
21
[4] Parser. (octubre 23, 2009). Eficiencia Computacional. abril 12, 2016, de blogspot Sitio web: http://eficienciacomputacional.blogspot.mx/ [5]S/A. (julio 8, 2008). Performance Comparison - C++ / Java / Python / Ruby/ Jython / JRuby / Groovy. abril 12, 2016, de /var/log/mind Sitio web: http://blog.dhananjaynene.com/2008/07/performance- comparison-c-java-python-ruby-jython-jruby-groovy/ [6] Comeau, G.. (2016). El lenguaje C++. abril 12, 2016, de Zator Sitio web: http://www.zator.com/Cpp/E1_2.htm [7] S/A. (abril 5, 2016). Java (lenguaje de programación). abril 12, 2016, de Wikipedia Sitio web: https://es.wikipedia.org/wiki/Java_(lenguaje_de_progra maci%C3%B3n) [8] S/A. (abril 8, 2016). Python. abril 12, 2016, de Wikipedia Sitio web: https://es.wikipedia.org/wiki/Python [1] Prechelt, L. (Marzo 14, 2000). An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl. abril 12, 2016, de Fakult¨at f¨ur Informatik, Universit¨at Karlsruhe Sitio web: http://page.mi.fu- berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf [2]Robert. (Octubre 24, 2011). ¿El lenguaje de programación más eficiente? Abril 12, 2016, de Universitat Oberta de Catalunya Sitio web: http://informatica.blogs.uoc.edu/2011/10/24/el-lenguaje- de-programacion-mas-eficiente/ [3] Tymoschuk, J.. (--). Análisis comparativo de eficiencia de lenguajes de programación. abril 12, 2016, de Universidad Tecnológica Nacional, Facultad Regional Córdoba Sitio web: http://conaiisi.frc.utn.edu.ar/PDFsParaPublicar/1/schedC onfs/5/13-507-2-DR.pdf
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.