On 11/25/19 7:17 AM, Richard W.M. Jones wrote:
It's more efficient if we pass the C buffer directly to Python
code.
In some cases the Python code will be able to write directly into the
C buffer using functions like file.readinto and socket.recv_into.
This avoids an extra copy.
Thanks: Nir Soffer
---
plugins/python/example.py | 8 ++++---
plugins/python/nbdkit-python-plugin.pod | 16 +++++--------
plugins/python/python.c | 32 +++++++++++++++----------
tests/python-exception.py | 4 ++--
tests/shebang.py | 5 ++--
5 files changed, 36 insertions(+), 29 deletions(-)
Hmm, my counterproposal that adds kwarg parameters without requiring
API_VERSION makes it impossible to make this sort of switch. So this
alone is a good reason why a clean break in python plugins opting in to
API_VERSION 1 or 2 makes sense (and maybe we still want v2 to use
keywords instead of positional parameters, but with less impact to v1
clients).
As I said with my counterproposal, now is the time to decide what we
like best out of both proposals, and probably another round of churn on
what our final interface will be.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization:
qemu.org |
libvirt.org