This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: Reimplement subset of multiprocessing.sharedctypes using memoryview
Type: enhancement Stage: patch review
Components: Versions: Python 3.5
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: davin, neologix, pitrou, sbt
Priority: normal Keywords: patch

Created on 2012-05-29 14:59 by sbt, last changed 2022-04-11 14:57 by admin.

File name Uploaded Description Edit
memoryview-array-value.patch sbt, 2012-05-29 14:59 review
memoryview-array-value.patch sbt, 2014-07-08 15:12 review
Messages (3)
msg161892 - (view) Author: Richard Oudkerk (sbt) * (Python committer) Date: 2012-05-29 14:59
The attached patch enables creation of shared objects allocated from shared memory using memoryview objects instead of ctypes.

This enables the use of shared memory on systems where ctypes is unavailable.

The new functions/classes RawArray, RawValue, Array and Array have been added to multiprocessing.heap.  They are almost equivalent to the functions/classes of the same name in multiprocessing and multiprocessing.sharedctypes when a letter typecode is used (rather than a ctypes type).

The differences in behaviour are due to the differences between memoryview objects and ctypes arrays.  The most noticeable is the fact that you can't set a slice using an arbitrary sequence, so

    arr = multiprocessing.RawArray('i', [0]*10)
    arr[:3] = [1,2,3]

has to be rewritten to something like

    arr = multiprocessing.heap.RawArray('i', [0]*10)
    arr[:3] = array.array('i', [1,2,3])

(No documetation yet.)
msg222133 - (view) Author: Mark Lawrence (BreamoreBoy) * Date: 2014-07-02 21:40
@Richard I assume that you'll be following this up.
msg222567 - (view) Author: Richard Oudkerk (sbt) * (Python committer) Date: 2014-07-08 15:12
Updated version of the patch.  Still needs docs.
Date User Action Args
2022-04-11 14:57:31adminsetgithub: 59158
2019-04-26 17:21:56BreamoreBoysetnosy: - BreamoreBoy
2015-01-16 08:31:28pitrousetnosy: + davin
2014-07-08 15:12:08sbtsetfiles: + memoryview-array-value.patch

messages: + msg222567
2014-07-02 21:40:05BreamoreBoysetnosy: + BreamoreBoy

messages: + msg222133
versions: + Python 3.5, - Python 3.3
2012-06-05 22:12:11pitrousetnosy: + pitrou, neologix
2012-05-29 14:59:42sbtcreate