RV: Re: Simple bucle

dvilla en gmx.net dvilla en gmx.net
Jue Dic 18 10:42:06 CET 2003


Hola

Por cierto, el for de Python no es un for, es un foreach (como el de la STL de
C++). De modo que la versión Python del bucle es más compleja que la de Java ya
que entra en juego un iterador y un contenedor (que tiene que crearse en la
llamada xrange), eso es lo que realmente lleva tiempo; todo eso no tiene que
hacerlo la versión Java.

Lo justo, en terminos de código, sería comparar esto:

  i = 0
  while(i < 20000000):
      i++

  y el equivalente en java era;

  class test {
      static void main(String argv[]) {
	    int i = 0;
            while(i < 20000000) {
                i++;
            }
      }
  }

No lo he probado, pero estoy convencido que la diferencia se debe reducir
bastante.

Saludos.


El Wed, 17 Dec 2003 21:53:14 +0100
dvilla en gmx.net escribió:

> 
> Hola:
> 
> No sé, yo no acabo de entender el problema. "Java es mucho más rápido
> que Python ejecutando cierto programa", y qué? Eso hace que sea 'mejor' o
> 'peor'?
> 
> Si la velocidad es un requisito de la aplicación, desde luego no podemos usar
> una máquina virtual ni menos aún un lenguaje interpretado. Así que olvidate de
> Python, perl, .NET, Java, etc, aunque siempre puedes compilarlos nativamente.
> 
> Entonces, qué sentido tiene comparar la velocidad de Java y Python cuando
> ninguno de los dos les llega a los talones a C, C++, Fortran y otros cientos.
> 
> Como ingenieros que somos (o al menos, debemos pensar como tales) nuestro
> objetivo es evaluar la tecnología y decidir cual es la mejor solución al
> problema que se nos plantea. Usar un lenguaje porque 'te cae simpático' es
> poco profesional. Está claro que el software tiene implicaciones sociales y
> molares que a veces nos llevan a guiarnos más por el corazón que por la
> cabeza. 
> 
> El objetivo es solucionar el problema; sabemos (por experiencia) que usar
> ciertas cosas como Java y cosillas propietarias trae problemas serios de
> mantenimiento, escalabilidad y productividad, y es por eso que no nos caen
> 'simpáticos'. Pero hay que recordar que si no nos gustan es por un motivo
> razonable, no por un capricho, y eso es lo que deben saber los 'jefes' (como
> decía un colistero).
> 
> Saludos
> 
> 
> El Wed, 17 Dec 2003 21:17:16 +0100
> Francesc Alted <falted en openlc.org> escribió:
> 
> > A Dimecres 17 Desembre 2003 19:44, Toni Martínez va escriure:
> > >
> > > Y ya puestos, ¿cómo se convence al que decide que deje Java e invierta en
> > > Python?. Porque para que se decida la diferencia debe ser, no clara, sino
> > > cristalina.
> > 
> > Pues por que en la vida hay pocas cosas claras, y mucho menos cristalinas.
> > No creo que existan factores decisivos para declarar que un lenguaje es
> > mejor que otro: cada uno tiene sus cosas. Y al final, uno elige básicamente
> > por dos motivos: porque te lo impone el jefe (el más común) o porque te
> > gusta más uno que otro. En el primer caso poco hay que decir, y el segundo
> > quizá es un poco demasiado subjetivo.
> > 
> > Estaria bien que hubieran razones *decisivas* para declarar un lenguaje como
> > el mejor, pero desgraciadamente (o mejor dicho, por fortuna), esto depende
> > de cada uno y de cómo percibe la realidad que le rodea. En esto el programar
> > (asi como la elección del lenguaje) se parecen más a un arte que a una
> > ciencia (pero seguro que alguien discrepará fuertemente con esto).
> > 
> > Asi que, aceptemos la cosas como son y si alguien hace benchmarks con un
> > bucle que no hace nada y le gusta que su lenguaje preferido sea rápido
> > haciendo precisamente eso, pues perfecto. Si otros preferimos la elegancia y
> > la rapidez de desarrollo, pues bien también.
> > 
> > Ah, y espero que python no sea el último lenguaje que me parezca bonito!.
> > 
> > -- 
> > Francesc Alted
> > 
> > _______________________________________________
> > Python-es mailing list
> > Python-es en aditel.org
> > http://listas.aditel.org/listinfo/python-es
> > 
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
> 




Más información sobre la lista de distribución Python-es