• sgarland 4 hours ago

    I was slightly confused until the end, when the author mentioned that all of this is unnecessary in 3.8, with the advent of multiprocessing.shared_memory.

    3.8 really was a banger of a release. SHM, NamedTuples got a 2x speed boost for lookups, Lists got 12% faster, tons of new types, lru_cache as a decorator, math.dist() so people could stop installing NumPy just for that…

    On SHM specifically, though, it really is quite useful for certain applications, and I wish it got more attention. It’s particularly nice for IPC with C shared libraries.

    • NewJazz an hour ago

      That math dist thing reminds me of dateutil's relativedelta function. I really wish that were in the stdlib.

    • Galanwe 38 minutes ago

      I dont quite understand why the author bothers with creating ctypes bindings to the shm C API while using public shared memories.

      You are better served by using a tmpfs (e.g. /dev/shm) and the regular python file API + mmap.

      Also for reading and writing, the struct module (e.g. pack) is much more idiomatic than mapping a C style array.