Pergunta

Quais as experiências que você tem com Stackless Python e PyQt?

Problemas eu ficaria feliz se as pessoas endereço:

  1. Compilação de PyQt para Stackless:não PyQt precisa ser compilado especialmente para Stackless?é a compilação suave?problemas com ligações, etc.

  2. Estabilidade:quaisquer falhas inesperadas, congela, pausas e outros weirdities?

  3. Gerenciamento De Memória:qualquer sinal de vazamento de memória.comparação de RAM necessária para um Stackless/Plain Vanilla PyQt aplicações

  4. Engenharia De Software Empoderamento:muito breve esboço do fluxo-de-modelos de controle para Stackless-alimentado PyQt aplicações

  5. Lições aprendidas:qualquer dolorosa lição aprendida, as armadilhas a serem evitadas, problemas para resolver, você pode ter experimentado

Ser Feliz

Foi útil?

Solução

Eu tentei ir por este caminho há vários meses e decidi que não valia a pena o esforço.

Eu era capaz de executar uma instalação de binários de PyQt (no Windows), contra o stackless versão do Python, mas eu achei que eu tinha que ir manualmente e alterar alguns dos arquivos.Eu estava recebendo uma mensagem de erro (desculpe, esqueci o que era), e a pesquisa do google levou a uma solução de há vários anos atrás.Código mais recente não incluem a antiga correção, para que a alteração não foi muito difícil, e (se me lembro corretamente) foi em python, então não foi necessário recompilar.

Mas que foi um disjuntor do negócio para mim.Qt as atualizações saem regularmente, como fazer atualizações para o PyQt, e eu não quero ser continuamente corrigindo o código.Stackless e PyQt simplesmente não usado suficiente para ser avaliada.Eu encontrei o risco de difícil depurar problemas muito alta.Isto é especialmente verdadeiro dado o autor de stackless se mudou para PyPy.Deixe-me pedir desculpas antecipadamente - eu gostaria de ter as referências que encontrei para o autor parar de desenvolvimento em stackless python e mais detalhes sobre os erros tive que corrigir - eu não estava esperando a regurgitar os detalhes sobre o Estouro de Pilha.

Então, eu escolhi executar PyQt em um de baunilha Python em vez de stackless.

BTW, eu também pensei que a mistura de sinais/slots com stackless código seria confuso, como eles são completamente diferentes métodos de solução de multi-threading problemas.

Boa sorte!

Outras dicas

Se você estiver interessado em tudo isso devido à otimização de velocidade:

Você pode querer conferir Setwallow inadimista ( Wikipedia aqui ). O Google (por causa do YouTube ser 100% Python) está trabalhando em um compilador JIT para Python que aumentará sua velocidade em 5-10x (aproximando-o muito mais perto das velocidades Java do que a máquina virtual atual). A melhor parte é que isso funcionará com todo o código python existente O que significa que você não precisa se preocupar com todos os problemas associados a outros projetos de otimização do Python.

Espero que, se você estiver desenvolvendo um projeto grande o suficiente para justificar a necessidade de otimização em um nível baixo, você estaria bem em desenvolver em Python normal e depois mudar da VM atual quando a Swallow não amadrenidade for lançada em produção.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top