Message272264
Benchmarking results look nice, but despite the fact that this patch is only small part of issue26814, it looks to me larger that it could be.
1. The patch includes two parts: adding _PyObject_FastCall() and adding PyObject_CallNoArg() and PyObject_CallArg1(). How large the role of latter functions in the speed up? Can we first just add _PyObject_FastCall() and measure the effect of adding PyObject_CallNoArg() and PyObject_CallArg1() separately? Can existing function PyObject_Call() be optimized to achieve a comparable benefit?
2. I think that supporting keyword arguments in _PyObject_FastCall() doesn't make much sense now. Calling with keyword arguments adds such much overhead, that it dwarfs the benefit of avoiding the creation of one tuple. I think that the patch can be simpler if drop the support of keyword arguments.
3. The patch adds two files for one function _PyStack_AsTuple(). I would prefer something like _PyTuple_FromArray(). It could be used in other places, not just in argument parsing. |
|
Date |
User |
Action |
Args |
2016-08-09 19:45:50 | serhiy.storchaka | set | recipients:
+ serhiy.storchaka, vstinner, yselivanov |
2016-08-09 19:45:50 | serhiy.storchaka | set | messageid: <1470771950.51.0.249852514927.issue27128@psf.upfronthosting.co.za> |
2016-08-09 19:45:50 | serhiy.storchaka | link | issue27128 messages |
2016-08-09 19:45:50 | serhiy.storchaka | create | |
|