Message305586
| Author |
ncoghlan |
| Recipients |
Mark.Shannon, arigo, belopolsky, benjamin.peterson, ncoghlan, njs, xdegaye, xgdomingo, yselivanov |
| Date |
2017年11月05日.05:55:40 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1509861341.56.0.213398074469.issue30744@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
Starting to make some progress on an implementation, and it occurs to me that if this approach does work out, it should make Python level trace functions *much* faster.
Right now, the call to the Python function in call_trampoline is bracketed by PyFrame_FastToLocals() and PyFrame_LocalsToFast(), even if the trace function never accesses frame.f_locals.
By contrast, with the proposed design, PyFrame_LocalsToFast() never gets called anywhere (I've actually replaced the entire body with a PyErr_SetString call), and PyFrame_FastTo_Locals will only be called in the frame.f_locals descriptor implementation. |
|