Message332510
| Author |
serhiy.storchaka |
| Recipients |
larry, serhiy.storchaka |
| Date |
2018年12月25日.14:40:52 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1545748852.85.0.712150888896.issue35582@roundup.psfhosted.org> |
| In-reply-to |
| Content |
This is a continuation of issue23867. The proposed PR makes Argument Clinic inlining parsing code for functions with only positional parameters, i.e. functions that use PyArg_ParseTuple() and _PyArg_ParseStack() now. This saves time for parsing format strings and calling few levels of functions. It can save also a C stack, because of lesser number of nested (and potentially recursive) calls, lesser number of variables, and getting rid of a stack allocated array for "objects" which will need to be deallocated or cleaned up if overall parsing fails.
PyArg_ParseTuple() and _PyArg_ParseStack() will still be used if there are parameters for which inlining converter is not supported. Unsupported converters are deprecated Py_UNICODE API ("u", "Z"), encoded strings ("es", "et"), obsolete string/bytes converters ("y", "s#", "z#"), some custom converters (DWORD, HANDLE, pid_t, intptr_t). |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2018年12月25日 14:40:56 | serhiy.storchaka | set | recipients:
+ serhiy.storchaka, larry |
| 2018年12月25日 14:40:52 | serhiy.storchaka | set | messageid: <1545748852.85.0.712150888896.issue35582@roundup.psfhosted.org> |
| 2018年12月25日 14:40:52 | serhiy.storchaka | link | issue35582 messages |
| 2018年12月25日 14:40:52 | serhiy.storchaka | create |
|