<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_default"><font face="arial, sans-serif" size="4">Hi Marcel,</font></div><div class="gmail_default"><font face="arial, sans-serif" size="4"><br></font></div><div class="gmail_default"><font face="arial, sans-serif" size="4">    can we try and reduce the frequency at which we compute the variables in the context inspector in the debugger?  It is a noticeable performance hit.  I really like the user interface, but the performance hit is making debugging difficult.</font></div><div class="gmail_default"><font face="arial, sans-serif" size="4"><br></font></div><div class="gmail_default"><font face="arial, sans-serif" size="4">As an example use this:</font></div><div class="gmail_default"><font face="arial, sans-serif" size="4"><br></font></div><div class="gmail_default"><div class="gmail_default"><font size="4" face="times new roman, serif">| samples sineTable sound |</font></div><div class="gmail_default"><font size="4" face="times new roman, serif">"1 second of A below middle C (220Hz). 16000 / 220 is 72.72 recurring"</font></div><div class="gmail_default"><font size="4" face="times new roman, serif">sineTable := SoundPlayer sineTable: 73.</font></div><div class="gmail_default"><font size="4" face="times new roman, serif">sineTable doWithIndex: "And let's not deafen anyone..."</font></div><div class="gmail_default"><font size="4" face="times new roman, serif"><span class="gmail-Apple-tab-span" style="white-space:pre">    </span>[:sample :index| sineTable at: index put: sample // 4].</font></div><div class="gmail_default"><font size="4" face="times new roman, serif">samples := SoundBuffer new: 16000.</font></div><div class="gmail_default"><font size="4" face="times new roman, serif">1 to: samples size by: sineTable size do:</font></div><div class="gmail_default"><font size="4" face="times new roman, serif"><span class="gmail-Apple-tab-span" style="white-space:pre">   </span>[:i| samples replaceFrom: i to: (i + sineTable size - 1 min: 16000) with: sineTable startingAt: 1].</font></div><div class="gmail_default"><font size="4" face="times new roman, serif">1 to: 146 do:</font></div><div class="gmail_default"><font size="4" face="times new roman, serif"><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>[:i|</font></div><div class="gmail_default"><font size="4" face="times new roman, serif"><span class="gmail-Apple-tab-span" style="white-space:pre">       </span>samples at: i put: ((samples at: i) * i / 146) asInteger.</font></div><div class="gmail_default"><font size="4" face="times new roman, serif"><span class="gmail-Apple-tab-span" style="white-space:pre">  </span>samples at: 16001 - i put: ((samples at: 16001 - i) * i / 146) asInteger].</font></div><div class="gmail_default"><font size="4" face="times new roman, serif">sound := SampledSound</font></div><div class="gmail_default"><font size="4" face="times new roman, serif"><span class="gmail-Apple-tab-span" style="white-space:pre">                 </span>samples: samples</font></div><div class="gmail_default"><font size="4" face="times new roman, serif"><span class="gmail-Apple-tab-span" style="white-space:pre">                   </span>samplingRate: 16000.</font></div><div class="gmail_default"><font size="4" face="times new roman, serif">sound := MixedSound new</font></div><div class="gmail_default"><font size="4" face="times new roman, serif"><span class="gmail-Apple-tab-span" style="white-space:pre">                     </span>add: sound pan: 0.25;</font></div><div class="gmail_default"><font size="4" face="times new roman, serif"><span class="gmail-Apple-tab-span" style="white-space:pre">                      </span>add: sound pan: 0.75;</font></div><div class="gmail_default"><font size="4" face="times new roman, serif"><span class="gmail-Apple-tab-span" style="white-space:pre">                      </span>yourself.</font></div><div class="gmail_default"><font size="4" face="times new roman, serif">sound computeSamplesForSeconds: sound duration</font></div><div class="gmail_default"><font face="arial, sans-serif" size="4"><br></font></div><div class="gmail_default"><font face="arial, sans-serif" size="4"><br></font></div><div class="gmail_default"><font face="arial, sans-serif" size="4">Open a workspace in e.g. a 64-bit image prior to Tools-mt.965 (I used an image containing Tools-mt.942).  Debug the above in the workspace.  Position the cursor at "<span style="color:rgb(0,0,0)">sound computeSamplesForSeconds: sound duration" and do "run to here".  It is essentially instantaneous.</span></font></div><div class="gmail_default"><span style="color:rgb(0,0,0)"><font face="arial, sans-serif" size="4"><br></font></span></div><div class="gmail_default"><font color="#000000" face="arial, sans-serif" size="4"><span style="caret-color: rgb(0, 0, 0);">Now do the same in a contemporary trunk image.  It takes almost 6 seconds.</span></font></div><div class="gmail_default"><font color="#000000" face="arial, sans-serif" size="4"><span style="caret-color: rgb(0, 0, 0);"><br></span></font></div><div class="gmail_default"><font color="#000000" face="arial, sans-serif" size="4"><span style="caret-color: rgb(0, 0, 0);">I used to be able to click step as fast as I could and the system would keep up with me.  Now I find that if I click too fast I can accumulate excess clicks and when I stp clicking the system will continue stepping and go too far.</span></font></div><div class="gmail_default"><font color="#000000" face="arial, sans-serif" size="4"><span style="caret-color: rgb(0, 0, 0);"><br></span></font></div><div class="gmail_default"><font color="#000000" face="arial, sans-serif" size="4"><span style="caret-color: rgb(0, 0, 0);">I don't want to lose the feedback the new variables list gives us.  But I do find the performance hit tedious.  I wonder could we cache the list and only update it</span></font></div><div class="gmail_default"><font color="#000000" face="arial, sans-serif" size="4"><span style="caret-color: rgb(0, 0, 0);">- when Morphic updates, and</span></font></div><div class="gmail_default"><font color="#000000" face="arial, sans-serif" size="4"><span style="caret-color: rgb(0, 0, 0);">- when the context changes?</span></font></div><div class="gmail_default"><font color="#000000" face="arial, sans-serif" size="4"><span style="caret-color: rgb(0, 0, 0);"><br></span></font></div><div class="gmail_default"><span style="color:rgb(0,0,0)"><font face="arial, sans-serif" size="4"><br></font></span></div></div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><span style="border-collapse:separate"><font face="arial, sans-serif" size="4"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></font></span></div></div></div></div></div></div></div></div>