Il giorno 13 novembre 2010 14:23, Marco Giusti <marco.giu...@gmail.com> ha scritto:
> l'ottimizzazione del bytecode python è molto superficiale, per quanto ne > sò tutto quello che viene fatto è la rimozione di alcuni statement: gli > ``assert``, ``__debug__`` viene impostata a ``False`` e vengono > eliminati (azzerati?) tutti gli attributi ``__doc__`. il test sulla > variabile ``__debug__`` è un piccolo extra ma neanche troppo furbo, > tempo fa' non era in grado di eliminare questo statement: > > if __debug__ and var: > ... > > ora non saprei. Testato giusto ora, e per l'appunto non lo fà, comunque credo sia giusto cosi, perchè se non c'è la __debug__ sà di poter evitare di scrivere il blocco condizionale, perchè probabilmente essendo una variabile globale riservata all'interprete (non sò se sia possibile definirla o meno, passami il termine), con -O viene omessa e boh, ma nella presenza di un operatore "and" con una variabile da verificare a runtime non può evitare di includere il blocco. Boh, non so se mi son spiegato, questa è la mia teoria per quello che ho visto da stamattina ad ora :) > > python -O -c 'import mymodule' > > Oh beh, non è un grosso problema, importo tutti i moduli in maniera ricorsiva (mi pare di aver visto un sistema per farlo), e dovrei avere tutti i bytecode. Purtroppo ancora non son riuscito a risolvere il problema di cui il thread, ho provato aggiungendo la keyword global ma non funziona uguale :(
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python