<br><br><div class="gmail_quote">Il giorno 13 novembre 2010 14:23, Marco Giusti <span dir="ltr">&lt;<a href="mailto:marco.giusti@gmail.com">marco.giusti@gmail.com</a>&gt;</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&#39;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&#39; 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&#39;appunto non lo fà, comunque credo sia giusto cosi, perchè se non c&#39;è la __debug__ sà di poter evitare di scrivere il blocco condizionale, perchè probabilmente essendo una variabile globale riservata all&#39;interprete (non sò se sia possibile definirla o meno, passami il termine), con -O viene omessa e boh, ma nella presenza di un operatore &quot;and&quot; 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 &#39;import mymodule&#39;<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>