Viagem pelas VMs do python

187 visualizações

Publicada em

Palestra apresentada na PyCampus 2010

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
187
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Viagem pelas VMs do python

  1. 1. Rodrigo P. M. de Araújorodrigo.araujo@veezor.com
  2. 2. Gerenciamento de memóriaGerenciamento de threadsDesempenho
  3. 3. Coleta de lixo
  4. 4. Global Interpreter Lock
  5. 5. JIT (Just in Time)
  6. 6.  Implementação de referencia do Python Versão atual 2.7.1 e 3.1.3(incompatível com a série 2) Release 1.0 em 1994 Release 2.2 em Dezembro de 2001 Release 2.5 em Setembro de 2006 Multiplataforma Número vasto de extensões
  7. 7.  Possui GIL Não possui JIT Coletor de lixo: Contagem de referências
  8. 8.  Códigos em C “Difícil de manter”. “Difícil modificar”. Difícil voltar atrás na escolha do gerenciamento de memória e threads.
  9. 9.  JIT (x86) – Custo de manutenção alto
  10. 10. PEP 3003 – Python Language Moratorium
  11. 11.  Python + JVM Anunciado em 26/11/2000 Jython 2.2 – 2007 Jython 2.5 – 2009 Não existe GIL Vários algoritmos de coleta de lixo Possui JIT Interoperabilidade com eco-sistema Java Sem suporte a extensões C Multiplataforma
  12. 12.  Python + Microsoft .Net Versão atual 2.6 / Python 2.6 Versão 2.7 em estágio beta Não existe GIL. Possui JIT Vários algoritmos de coleta de lixo Interoperabilidade com eco-sistema .Net Suporte parcial a extensões C (IronClad) Multiplataforma
  13. 13.  Dynamic Language Runtime SilverLight Windows Forms
  14. 14.  Interpretador Python escrito em Python
  15. 15.  Interpretador Python escrito em RPython + ferramenta de tradução para RPython.
  16. 16.  Subconjunto da linguagem Python Permite inferência de tipos Linguagem de alto nível
  17. 17.  Códigos de alto nível Aspectos ortogonais são inseridos durante a tradução  Estratégia de coleta de lixo  Modelo de threads  JIT Suporta vários algoritmos de coleta de lixo Suporta mais de um modelo de threads Vários tipos de JIT já foram implementados
  18. 18.  Ferramenta de tradução permite gerar código em:  C  .Net  Java Possibilidade de unificar o desenvolvimento do CPython, IronPython, Jython.
  19. 19.  Python + Python = Python Anunciado em 2003 PyPy 1.0 – 2007 – Python 2.4 PyPy 1.4 – 2010 – Python 2.5 PyPy 1.5 – 2011 – Python 2.7 Possui GIL!!! # remoção programada Possui JIT (x86, x86-64) # arm no release 1.5 Suporte parcial a extensões C (cpyext) Multiplataforma
  20. 20. rodrigo.araujo@veezor.com twitter.com/fenrrir

×