<br><br><div class="gmail_quote">Il giorno 13 novembre 2010 14:23, Marco Giusti <span dir="ltr"><<a href="mailto:marco.giusti@gmail.com">marco.giusti@gmail.com</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
l'ottimizzazione del bytecode python è molto superficiale, per quanto ne<br>
sò tutto quello che viene fatto è la rimozione di alcuni statement: gli<br>
``assert``, ``__debug__`` viene impostata a ``False`` e vengono<br>
eliminati (azzerati?) tutti gli attributi ``__doc__`. il test sulla<br>
variabile ``__debug__`` è un piccolo extra ma neanche troppo furbo,<br>
tempo fa' non era in grado di eliminare questo statement:<br>
<br>
if __debug__ and var:<br>
...<br>
<br>
ora non saprei. </blockquote><div><br>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.<br>
<br>Boh, non so se mi son spiegato, questa è la mia teoria per quello che ho visto da stamattina ad ora :)<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
python -O -c 'import mymodule'<br>
<br></blockquote><div>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. <br></div><br>Purtroppo ancora non son riuscito a risolvere il problema di cui il thread, ho provato aggiungendo la keyword global ma non funziona uguale :(<br>
</div>