[eside-ghost] Python y Java en servidores de aplicaciones
Zigor A. Eiguren (Cosmos)
zaeiguren en euskalnet.net
Mar Ene 22 19:16:49 CET 2008
Aupa!
Creo que te refieres al GIL no? (Global Interpreter Lock).
Creo que para trabajar con multi-threading sin esos impedimentos,
sacaron "Stackless" Python.
Agur...
Jon Valdés escribió:
> 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
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> eside-ghost mailing list
> eside-ghost en deusto.es
> https://listas.deusto.es/mailman/listinfo/eside-ghost
--
Saludos Z.A.E.(Cosmos)
Agur...
Más información sobre la lista de distribución eside-ghost