Message 283093 - Python tracker
> And would be nice to extend the optimization to C functions. I tried it but skipping creating PyCFunction seems impossible for now. My current idea is adding new `tp_fastcall` slot which has same signature to _PyFunction_FastCallDict or _PyCFunction_FastCallDict. If MethodDescrObject implement it, we can skip temporary PyCFunction object and argument tuple. But I think it should be separated issue. Patch is large enough already.