summaryrefslogtreecommitdiff
path: root/Doc/data
diff options
context:
space:
mode:
authorVladimir Matveev <vladima@fb.com>2020-09-18 18:38:38 -0700
committerGitHub <noreply@github.com>2020-09-18 18:38:38 -0700
commit2b05361bf7cbbd76035206fd9befe87f37489f1e (patch)
treed29b4c3ab8e617ee8f5f5440db83a2bfa3050666 /Doc/data
parentec8a15b034124f3b58d1addda789fa4c20313006 (diff)
downloadcpython-git-2b05361bf7cbbd76035206fd9befe87f37489f1e.tar.gz
bpo-41756: Introduce PyGen_Send C API (GH-22196)
The new API allows to efficiently send values into native generators and coroutines avoiding use of StopIteration exceptions to signal returns. ceval loop now uses this method instead of the old "private" _PyGen_Send C API. This translates to 1.6x increased performance of 'await' calls in micro-benchmarks. Aside from CPython core improvements, this new API will also allow Cython to generate more efficient code, benefiting high-performance IO libraries like uvloop.
Diffstat (limited to 'Doc/data')
-rw-r--r--Doc/data/refcounts.dat5
1 files changed, 5 insertions, 0 deletions
diff --git a/Doc/data/refcounts.dat b/Doc/data/refcounts.dat
index 355a4d6d3f..6b1bde3796 100644
--- a/Doc/data/refcounts.dat
+++ b/Doc/data/refcounts.dat
@@ -959,6 +959,11 @@ PyGen_NewWithQualName:PyFrameObject*:frame:0:
PyGen_NewWithQualName:PyObject*:name:0:
PyGen_NewWithQualName:PyObject*:qualname:0:
+PyGen_Send:int:::
+PyGen_Send:PyGenObject*:gen:0:
+PyGen_Send:PyObject*:arg:0:
+PyGen_Send:PyObject**:presult:+1:
+
PyCoro_CheckExact:int:::
PyCoro_CheckExact:PyObject*:ob:0: