Configurable memory allocations
Project description
Memory management in NumPy*
*NumPy is a trademark owned by NumFOCUS.
Customize Memory Allocators
Α metaclass is used to override the internal data memory routines. The metaclass has four optional fields:
>>> import ctypes
>>> import numpy_allocator
>>> my = ctypes.CDLL('libmy.so')
>>> class my_allocator(metaclass=numpy_allocator.type):
... _calloc_ = my.calloc_func
... _free_ = my.free_func
... _malloc_ = my.malloc_func
... _realloc_ = my.realloc_func
...
An example using the allocator
>>> import numpy as np
>>> with my_allocator:
... a = np.array([1, 2, 3])
...
>>> my_allocator.handles(a)
True
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
numpy-allocator-1.1.0.tar.gz
(10.3 kB
view hashes)
Built Distributions
Close
Hashes for numpy_allocator-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11e58bc9880daab0390c14871116c9e08b71fa696da18311f3a9d32c1a95350e |
|
MD5 | c1ef68ab0434457a9141b808b3848226 |
|
BLAKE2b-256 | 8d2f5a96290e91af56680956354a53b34a3367fbad1df03ee995cdfce675a744 |
Close
Hashes for numpy_allocator-1.1.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9380920d792076ae67af3d8ad52544c312b8f4e068d4c637fc139132506b8928 |
|
MD5 | 7cb31a41adb2771df7950a38c8cdcae4 |
|
BLAKE2b-256 | ffcd43ed6a9a56d344cc37317eedf28fd7e25e22e04e0b095081e8d8253522c9 |
Close
Hashes for numpy_allocator-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6053fd0502b36df3406884818c74ec50bda7f2859a187057101fafd0dad86dc |
|
MD5 | 7bbd75ac1f850ceee26cf8c02917b2f0 |
|
BLAKE2b-256 | 4d297cf1beebbee388f6db5dd2abb61e50c77424e9bbd0276304b24f2020daf0 |
Close
Hashes for numpy_allocator-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3905d78a4c87a9cb7583b39ab85c2cfce27243d8f12fb5e8f0c961c53531ae55 |
|
MD5 | 6c459e23fc55b05e6d17f18cc61f06aa |
|
BLAKE2b-256 | 53cd6865dd54a6fc04a1d5f0e7200c3cab5f96ef2f01c4427bf5a2180aed6274 |
Close
Hashes for numpy_allocator-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0839f7e853ca40ba25e2029222b7dc203b7096bfa429df7e7ff60e311f5d757c |
|
MD5 | 93a2b7c7967230847663fa3f3b24ab28 |
|
BLAKE2b-256 | 80456a0b6f8e02334785824d77e498e7e65c6f8b3df942b79b01548af2d42c55 |
Close
Hashes for numpy_allocator-1.1.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ad7d7f5d6096c252532207cfe3bfc85bd64e15938c2d4de9b6b515604ec4087 |
|
MD5 | c29931320d444cdf884bf584aade5784 |
|
BLAKE2b-256 | 0201f06e79c3e866b8a565a151d2583bfd467a63b263cd757de756e157d0340e |
Close
Hashes for numpy_allocator-1.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c34221f98f05305bbee30b28869f015062f35463c787613b367092025bda2ef5 |
|
MD5 | 6c88037beb7018e9d2d0163320ea5236 |
|
BLAKE2b-256 | bd607bbba15b554c162cce8b82b29585f64a25b31803083de47c32c64795e25d |
Close
Hashes for numpy_allocator-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1252a160c8a567058c3d295c736b2be30964c10e735d1c7c053b308125bcea26 |
|
MD5 | 628f8f28c9f6fdba9e51d7de5262d014 |
|
BLAKE2b-256 | aa543315a15cb0653a41a6ae9b04b8a580836aa48d916e588b23c60e33754305 |
Close
Hashes for numpy_allocator-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 946092b1dd7bc71547d70a3d48b33a0633f7afe3aab2f6fee867ac5aee324e78 |
|
MD5 | 0a0b7275beaf31a93385837a4834e3ef |
|
BLAKE2b-256 | 8ee2256773ed49163dae60a474759b0a741668a28bfc33fafe12b5eecfed5397 |
Close
Hashes for numpy_allocator-1.1.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9af10601d3a6c46c4309baf5f70fd395eb582943f1d0638a1bb5c388b6f51228 |
|
MD5 | 0a10e92ec2f500c39c8b8b5d9d572132 |
|
BLAKE2b-256 | d67879259ab85a789fc19781565c77c576a2c895decaaeaf2bd3dcba7c936d84 |
Close
Hashes for numpy_allocator-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe839cd79bfc944c71958f8bfb82207504547cccf7d85bab4dfdaca4f00262b5 |
|
MD5 | eafaed8880067dce771aeb0154f0a79a |
|
BLAKE2b-256 | d833e4a08ffd001fc4bc2834d4212bce22cebbbbdf10399e923b6956b1319595 |
Close
Hashes for numpy_allocator-1.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7c75cfde4dbb24955250e018306fc1078ddcf8e7b8eeb8bde1903fe8986aa49 |
|
MD5 | 3af56fe1e8952b90a97d274617aaeabe |
|
BLAKE2b-256 | af47dee064184444c52e913e9355d3cf1cc5a34344b6bd65084b04d3229fd1ca |