He wrote:<p>&gt; Think about the common debugging scenario where the user sets a conditional breakpoint: &quot;break if x &gt; y&quot;. Testing that condition is going to take 15ms each time.<p>Wouldn&#x27;t the implementation of a software breakpoint look like:<p><pre><code>    if x &gt; y: bkpt
</code></pre>
so it&#x27;d only be slow on the case where it needed to break?  I guess I can imagine you could implement it the other way (always break, check the condition after breaking, resume if the condition isn&#x27;t met) but it&#x27;s not obvious to me why you&#x27;d do it that way.<p>Just guessing, but if you&#x27;re just patching the binary to insert the breakpoint you might not have enough space?  But you need space for the &quot;bkpt&quot; instruction too...