diff options
Diffstat (limited to 'docs/reference/speed_python.rst')
-rw-r--r-- | docs/reference/speed_python.rst | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/docs/reference/speed_python.rst b/docs/reference/speed_python.rst index a563b2d36c..85e956e8e6 100644 --- a/docs/reference/speed_python.rst +++ b/docs/reference/speed_python.rst @@ -91,9 +91,11 @@ code these should be pre-allocated and passed as arguments or as bound objects. When passing slices of objects such as `bytearray` instances, Python creates a copy which involves allocation of the size proportional to the size of slice. -This can be alleviated using a `memoryview` object. `memoryview` itself -is allocated on heap, but is a small, fixed-size object, regardless of the size -of slice it points too. +This can be alleviated using a `memoryview` object. The `memoryview` itself +is allocated on the heap, but is a small, fixed-size object, regardless of the size +of slice it points too. Slicing a `memoryview` creates a new `memoryview`, so this +cannot be done in an interrupt service routine. Further, the slice syntax ``a:b`` +causes further allocation by instantiating a ``slice(a, b)`` object. .. code:: python |