Sobre Python ser lento

8 views
Skip to first unread message

Dirceu Pereira Tiegs

unread,
Nov 16, 2009, 1:42:08 PM11/16/09
to sl-cr...@googlegroups.com
Oi pessoal,

Na última reunião foi levantada uma questão: Python não é lento
demais? É comum reescrever partes críticas em C?

Apenas pra reforçar o que eu disse: CPython é mais lento que outras
linguagens, mas é rápido o suficiente pra muita coisa. Eu nunca
precisei escrever código C para substituir código Python, mas sim, já
usei bibliotecas escritas em C (parsing de XML, manipulação de imagens
e banco de dados).

No caso de Python isso é bem simples. Você pode simplesmente trocar um:

>>> import elementtree

... por:

>>> import cElementTree as elementtree

A API é exatamente a mesma, só muda a implementação interna. O mesmo
vale para pickle / cPickle e outras bibliotecas.

É de consenso geral que PHP é uma linguagem com VM rápida e "leve",
mas já encontrei alguns benchmarks mostrando que alguns frameworks PHP
(como Symphony e CodeIgniter) são mais lentos que Django (escrito em
Python). Eu estou procurando o link correto (que acho que é de 2008),
mas esse aqui (mais antigo) serve como ilustração:

http://www.alrond.com/en/2007/jan/25/performance-test-of-6-leading-frameworks/

Isso é um bom exemplo de que, em muitos dos casos, importa mais a
qualidade do código do que a velocidade da VM*.

* lembrando que nenhuma linguagem é rápida ou lenta, o código gerado e
/ ou a VM utilizada que são.

Abraço,
--
Dirceu Pereira Tiegs - http://dirceu.info/

Wagner Francisco

unread,
Nov 18, 2009, 7:59:10 AM11/18/09
to sl-cr...@googlegroups.com
Mas CPython é tão lento assim? Em comparação com o interpretador Ruby atual, por exemplo, é bem mais rápido né?

No site do Martin Fowler, que é um dos "engenheiros de software" mais conhecidos hoje, ele comentou sobre como eles começaram a utilizar Ruby e RoR na ThoughtWorks, que é uma das maiores empresas de software. A respeito de desempenho, ele falou que não tiveram problemas e, pra uma grande parte das operações dos sistemas comuns, o que interfere é o desempenho do banco. Quando eu achar o artigo, posto aqui.

Aliás, essa ThoughtWorks está abrindo no Brasil, em Porto Alegre. Parece que eles estão contratando... (:


Falou!

2009/11/16 Dirceu Pereira Tiegs <dirce...@gmail.com>

Dirceu Pereira Tiegs

unread,
Nov 18, 2009, 8:10:53 AM11/18/09
to sl-cr...@googlegroups.com
Opa,

2009/11/18 Wagner Francisco <wagnerf...@gmail.com>:
> Mas CPython é tão lento assim? Em comparação com o interpretador Ruby atual,
> por exemplo, é bem mais rápido né?

Sim. A questão é que muita gente ainda deixa de usar Python (ou Ruby,
FWIW) porque acha que o software vai ficar lento demais.

> No site do Martin Fowler, que é um dos "engenheiros de software" mais
> conhecidos hoje, ele comentou sobre como eles começaram a utilizar Ruby e
> RoR na ThoughtWorks, que é uma das maiores empresas de software. A respeito
> de desempenho, ele falou que não tiveram problemas e, pra uma grande parte
> das operações dos sistemas comuns, o que interfere é o desempenho do banco.
> Quando eu achar o artigo, posto aqui.

Yup. O Carlos Vilela (@cv) apresentou uma palestra entitulada "Ruby na
Thoughtworks" no Rails Summit desse ano:

http://agaelebe.blip.tv/file/2730690/

Vale a pena assistir, ele tem dados de todos os projetos feitos em Ruby na TW.

> Aliás, essa ThoughtWorks está abrindo no Brasil, em Porto Alegre. Parece que
> eles estão contratando... (:

Pois é, eu cheguei a mandar currículo mas não foi dessa vez :-(. Mas
quem tem disponibilidade pra mudar pra POA deveria tentar, deve ser
sensacional trabalhar na TW.

Wagner Francisco

unread,
Nov 18, 2009, 11:56:25 AM11/18/09
to sl-cr...@googlegroups.com
2009/11/18 Dirceu Pereira Tiegs <dirce...@gmail.com>

Opa,

2009/11/18 Wagner Francisco <wagnerf...@gmail.com>:
> Mas CPython é tão lento assim? Em comparação com o interpretador Ruby atual,
> por exemplo, é bem mais rápido né?

Sim. A questão é que muita gente ainda deixa de usar Python (ou Ruby,
FWIW) porque acha que o software vai ficar lento demais.

É... em python eu nunca vi ninguém reclamando, mas em Java... haha. Eu tb quase nunca tive problemas de desempenho baixo. Quando tive a culpa foi minha.


> No site do Martin Fowler, que é um dos "engenheiros de software" mais
> conhecidos hoje, ele comentou sobre como eles começaram a utilizar Ruby e
> RoR na ThoughtWorks, que é uma das maiores empresas de software. A respeito
> de desempenho, ele falou que não tiveram problemas e, pra uma grande parte
> das operações dos sistemas comuns, o que interfere é o desempenho do banco.
> Quando eu achar o artigo, posto aqui.

Yup. O Carlos Vilela (@cv) apresentou uma palestra entitulada "Ruby na
Thoughtworks" no Rails Summit desse ano:

http://agaelebe.blip.tv/file/2730690/

Vale a pena assistir, ele tem dados de todos os projetos feitos em Ruby na TW.

Massa, vou ver. Parece que é ele que tá organizando essa vinda pro Brasil.
 

> Aliás, essa ThoughtWorks está abrindo no Brasil, em Porto Alegre. Parece que
> eles estão contratando... (:

Pois é, eu cheguei a mandar currículo mas não foi dessa vez :-(. Mas
quem tem disponibilidade pra mudar pra POA deveria tentar, deve ser
sensacional trabalhar na TW.

Tu tinha comentado que pensava em sair de Criciúma, eu até ia te falar sobre a vinda da TW. Mas tinha certeza que tu sabia, não se fala em outra coisa hoje... huahau.

O nível dos caras deve ser altíssimo, tu chegou a fazer entrevista ou algo assim?


Abraço!

Dirceu Pereira Tiegs

unread,
Nov 18, 2009, 3:36:22 PM11/18/09
to sl-cr...@googlegroups.com
Opa,

2009/11/18 Wagner Francisco <wagnerf...@gmail.com>:
> É... em python eu nunca vi ninguém reclamando, mas em Java... haha. Eu tb
> quase nunca tive problemas de desempenho baixo. Quando tive a culpa foi
> minha.

+1. Também já aconteceu comigo.

> Massa, vou ver. Parece que é ele que tá organizando essa vinda pro Brasil.

Aham.

> Tu tinha comentado que pensava em sair de Criciúma, eu até ia te falar sobre
> a vinda da TW. Mas tinha certeza que tu sabia, não se fala em outra coisa
> hoje... huahau.

Huahuahau imagina, no dia que anunciaram a vinda da TW pro Brasil o
pessoal do twitter só falava nisso.

> O nível dos caras deve ser altíssimo, tu chegou a fazer entrevista ou algo
> assim?

Pior que não, fui "filtrado" por currículo. Um trecho do email: "After careful
consideration, we are unable to consider you further for any of our current
open positions that would best utilise your skills and background. We
wish you much success in your future endeavours."

Suponho que eles procurem gente com mais experiência em metologias
ágeis e mais experiência "genérica" - eu fiquei muito tempo focado só
em Zope / Plone :-(.

Wagner Francisco

unread,
Nov 18, 2009, 7:28:33 PM11/18/09
to sl-cr...@googlegroups.com
2009/11/18 Dirceu Pereira Tiegs <dirce...@gmail.com>
Opa,

2009/11/18 Wagner Francisco <wagnerf...@gmail.com>:

Bah...  mas pelo que vi é o que eles querem mesmo, pessoas com experiência em várias linguagens, frameworks, etc. Apesar de que tu já conhece vários... falando nisso, dei uma olhada no django e fiquei com umas dúvidas... mas isso fica pra outro e-mail... hauhauhau


Abraço.
Reply all
Reply to author
Forward
0 new messages