<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    On 12/31/2010 12:51 PM, Cesare Di Mauro wrote:
    <blockquote
      cite="mid:AANLkTimmTOSqc43+qhei=C=p7i8Ry7ufiOZziYMZRpsB@mail.gmail.com"
      type="cite">2010/12/31 &nbsp;<span dir="ltr">&lt;<a
          moz-do-not-send="true" href="mailto:skip@pobox.com">skip@pobox.com</a>&gt;</span><br>
      <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex;
        border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
        <div class="im"><br>
          &nbsp; &nbsp;&gt;&gt; Another example. I can totally remove the variable
          i, just using the<br>
          &nbsp; &nbsp;&gt;&gt; stack, so a debugger (or, in general, having the
          tracing enabled)<br>
          &nbsp; &nbsp; &nbsp;&gt;&gt; cannot even find something to change about it.</div>
      </blockquote>
      <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex;
        border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
        &nbsp; &nbsp;Ethan&gt; -1<br>
        <br>
        &nbsp; &nbsp;Ethan&gt; Debugging is challenging enough as it is -- why
        would you want to<br>
        &nbsp; &nbsp;Ethan&gt; make it even more difficult?<br>
        <br>
        &lt;snarky&gt;<br>
        I don't know. &nbsp;Maybe he wants his program to run faster.<br>
        &nbsp;&lt;/snarky&gt;<br>
      </blockquote>
      <div><br>
      </div>
      <div>:D</div>
      <div><br>
      </div>
      <div>"Aggressive" optimizations can be enabled with explicit
        options, in order to leave normal "debugger-prone" code.</div>
    </blockquote>
    I wish the Python compiler would adopt a strategy of being able to
    disable optimizations.&nbsp; I wrote a bug about a "leaky abstraction"
    optimization messing up coverage testing 2.5 years ago, and it was
    closed as won't fix: <a class="moz-txt-link-freetext" href="http://bugs.python.org/issue2506">http://bugs.python.org/issue2506</a>.&nbsp; The debate
    there centered around, "but that line isn't executed, because it's
    been optimized away."&nbsp; It's common in sophisticated compilers (as
    in, any C compiler) to be able to choose whether you want
    optimizations for speed, or disabling optimizations for debugging
    and reasoning about the code.&nbsp; Python would benefit from the same
    choice.<br>
    <br>
    --Ned.<br>
    <blockquote
      cite="mid:AANLkTimmTOSqc43+qhei=C=p7i8Ry7ufiOZziYMZRpsB@mail.gmail.com"
      type="cite">
      <div>&nbsp;</div>
      <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex;
        border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
        If you use print statements for the bulk of your debugging (many
        people do),<br>
        unrolling loops doesn't affect your debugging ability.<br>
        <br>
        &nbsp;Skip</blockquote>
      <div><br>
      </div>
      <div>It's a common practice. Also IDEs helps a lot, and advanced
        interactive shells too (such as DreamPie).</div>
      <div><br>
        Cesare<br>
      </div>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Python-Dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Python-Dev@python.org">Python-Dev@python.org</a>
<a class="moz-txt-link-freetext" href="http://mail.python.org/mailman/listinfo/python-dev">http://mail.python.org/mailman/listinfo/python-dev</a>
Unsubscribe: <a class="moz-txt-link-freetext" href="http://mail.python.org/mailman/options/python-dev/ned%40nedbatchelder.com">http://mail.python.org/mailman/options/python-dev/ned%40nedbatchelder.com</a>
</pre>
    </blockquote>
  </body>
</html>