[eside-ghost] Python y Java en servidores de aplicaciones
Jon Valdés
juanval en gmail.com
Mar Ene 22 19:00:06 CET 2008
On Jan 22, 2008 6:36 PM, Alfredo Beaumont <alfredo.beaumont en gmail.com> wrote:
> Ar, 2008eko Urtren 22a(e)an, Pablo Garaizar Sagarminaga(e)k idatzi zuen:
> > Aupa!
> >
> > El Tue, 22 Jan 2008 17:06:27 +0000
> >
> > JammyZ <jammyz en gmail.com> comentaba:
> > > Yo diria que el rendimiento es mayor en Java que en python. El mismo
> > > algoritmo escrito en ambos lenguajes iria mas rapido en Java que en
> > > Python (en general). Python esta muy bien porque es muy rapido
> > > desarrollar en el pero no es mas rapido a la hora de ejecutar
> > > procesos intensivos. Imagino que por eso, para servicios web, si los
> > > requerimientos son altos es mejor escribirlos en Java que en python,
> > > aunque para cosas menos exigentes es mucho mas rapido escribirlas en
> > > python.
> >
> > Sin tener mucha idea (y sin opinar O:-D): ¿qué hay de los .pyc? ¿Van
> > más finos que el bytecode de java o no tanto?
>
> Son bastante más lentos que los de java. Y si me apuras diría que puede haber
> un orden de magnitud de diferencia... pero como no me apuras esto que no
> conste.
Por otro lado, también está el tema de que python tiene un cuello de
botella monothread hagas lo que hagas, con lo que no creo que se
escale demasiado bien a sistemas con varios procesadores. O quizás si,
pero no tiene pinta, según lo que comentan en:
http://docs.python.org/api/threads.html
"The Python interpreter is not fully thread safe. In order to support
multi-threaded Python programs, there's a global lock that must be
held by the current thread before it can safely access Python objects.
[...]
Therefore, the rule exists that only the thread that has acquired the
global interpreter lock may operate on Python objects or call Python/C
API functions."
Si solamente el thread que tenga el lock puede tocar objetos de python
(y todo es un objeto en python)... solamente un thread puede
ejecutarse en cada momento, convirtiendo cualquier sistema
multiprocesador en algo básicamente inutil :S
Taluegooo
Más información sobre la lista de distribución eside-ghost