On Tue, Jul 10, 2018 at 10:20 PM Antoine Pitrou <solip...@pitrou.net> wrote: > > On Tue, 10 Jul 2018 21:59:28 +0900 > INADA Naoki <songofaca...@gmail.com> wrote: > > > > Then, the function is called from another C extension like this: > > > > PyObject_CallFunction(func, "n", 42); > > > > Currently, we create temporary long object for passing argument. > > If there is protocol for exposeing format used by PyArg_Parse*, we can > > bypass temporal Python object and call myfunc_impl directly. > > This is another can of worms to open. If you're worried about the > added complexity of PEP 580, what you're proposing is one or two orders > of magnitude more complicated.
This is just an example of possible optimization, to explain why I want example application first. I know Cython is important for data scientists. But I don't know how it used typically. If my idea has 50% gain and current PEP 580 has only 5% gain, why we should accept PEP 580? But no one know real gain, because there are no realistic application which bottleneck is calling overhead. Without example application, I can't consider PEP 580 seriously. Microbenchemarks doesn't attract me. And PEP 576 seems much simpler and straightforward way to expose FASTCALL. > > > I think optimization like this idea can boost application performance > > using Cython heavily. > > You can already define the C signature of a function in Cython and > intra-Cython calls will benefit from it where possible. Cooperation > from core Python is not necessary for that. Why not allow it for extensions written in C, without Cython? > > The main point of PEP 580 is to make Cython functions faster when > called from pure Python, not from other Cython functions. Really? If so, I prefer PEP 576 to PEP 580. PEP 580 is too complicated. Anyway, I want more example applications which uses Cython heavily for further discussion. Regards, -- INADA Naoki <songofaca...@gmail.com> _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com