Message287183
| Author |
vstinner |
| Recipients |
methane, serhiy.storchaka, vstinner |
| Date |
2017年02月07日.01:05:53 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1486429556.71.0.707768672789.issue29465@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
pyobject_fastcall-2.patch: More complete changes. Sorry, the patch also contains unrelated refactoring! It's a more advanced implementation which tries to reduce the depth of the C backtrace. For example, _PyObject_FastCall() is now inlined manually in _PyObject_FastCallDict(). PyObject_Call() is also rewritten. If the overall approach is validated, I will rewriten the patch differently to limit changes, or push some changes in multiple commits.
Results of testcapi_stacksize.patch + stack_overflow_28870-sp.py (from issue #28870).
Reference:
haypo@smithers$ ../default-ref/python stack_overflow_28870-sp.py
test_python_call: 8586 calls before crash, stack: 976 bytes/call
test_python_getitem: 9188 calls before crash, stack: 912 bytes/call
test_python_iterator: 7936 calls before crash, stack: 1056 bytes/call
=> total: 25710 calls, 2944 bytes
Patch:
haypo@smithers$ ./python stack_overflow_28870-sp.py
test_python_call: 9883 calls before crash, stack: 848 bytes/call (-128 B)
test_python_getitem: 10476 calls before crash, stack: 800 bytes/call (- 112 B)
test_python_iterator: 8878 calls before crash, stack: 944 bytes/call (- 112 B)
=> total: 29237 calls (+3616), 2592 bytes (- 352 B) |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2017年02月07日 01:05:58 | vstinner | set | recipients:
+ vstinner, methane, serhiy.storchaka |
| 2017年02月07日 01:05:56 | vstinner | set | messageid: <1486429556.71.0.707768672789.issue29465@psf.upfronthosting.co.za> |
| 2017年02月07日 01:05:56 | vstinner | link | issue29465 messages |
| 2017年02月07日 01:05:56 | vstinner | create |
|