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.0.0.tar.gz
(10.2 kB
view hashes)
Built Distributions
Close
Hashes for numpy_allocator-1.0.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c3d23117077456fd3d8127b3e09e7ae54c8c682911525128e2795d74f7f0b07 |
|
MD5 | 4954daac3d007f6712c6ac6be8a6355f |
|
BLAKE2b-256 | db0d7a0d88a99f92d36930d43fe1c16071cddb6b663389a618c2718d6eaad733 |
Close
Hashes for numpy_allocator-1.0.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36d6d21c3356ef1c3015e3c279a1d178ec8d2722a0e061464639a234072839ea |
|
MD5 | f4322fdf03a976d558ed614be79987f7 |
|
BLAKE2b-256 | deaf215b5708ad7d8ac4e01db67375f8bea2b7f2eae04ce5da88a0209361fe28 |
Close
Hashes for numpy_allocator-1.0.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 205537d4f7040218333aee7826ae77c2044ebb3d78e43eb27cea662e478671e5 |
|
MD5 | d3c6db1e41ba8649ad5ee9a4e5dd8d57 |
|
BLAKE2b-256 | 50169bf93fbc091fdefba6260c9cabbcbb99550f5d2f3492a5ed140a00393666 |
Close
Hashes for numpy_allocator-1.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1231be04f38016dfd16644e54607394fd9b25e6f356a2424a38f3be2456c2fa |
|
MD5 | 7e4f6c3ced068f142740a93db2e489e4 |
|
BLAKE2b-256 | 8b083de7fbf2a4fb8fda568e8e663b8ef78559d980c918b4904c798a1be32b64 |
Close
Hashes for numpy_allocator-1.0.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0aa1ef75faa56f8e0c84381bdb761a9a28db357145b53af4ec8fac665c9ce870 |
|
MD5 | 915a59571fa470e85c9aa541f8ed3606 |
|
BLAKE2b-256 | e65a4f157f4ab21d6afca620ec5da77687c1c05769f3ff1becd219983f54e8e5 |
Close
Hashes for numpy_allocator-1.0.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0490dbef2a83eb0c8cb4ef0587b52d1c230e5166f5a76d332391c4755e82e7cb |
|
MD5 | bafbbaba804b4caab1be6cdd8c818b79 |
|
BLAKE2b-256 | bc195f3bf8174470589cfea54045dcb6ea98a7fca8562ec3a321e595f357d4f8 |
Close
Hashes for numpy_allocator-1.0.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e333b4f8d01541945100410e3fa25495814351124230ea263a24eb38b583263 |
|
MD5 | 5dcb12aa11612b6e9f53f293472d62bc |
|
BLAKE2b-256 | edbd1fd88ad36bd466b3721cb2e4c9b9d320e85f9946b42a927b0a8304e8ce0f |
Close
Hashes for numpy_allocator-1.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b38711587afbdbcdc2a3d522b0b5d41625a83bf76dc3d8a7d499128a8a133ba |
|
MD5 | 49721c30bb61019ba556dae46e336b1b |
|
BLAKE2b-256 | c2ab83165358f63c9afc22f6b5a206310084bdb339a42ea50cf8d83ad94bcce1 |
Close
Hashes for numpy_allocator-1.0.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70b7a5e90737cf8f6ca5e293489c1548335d4343d9d0a086ff3e0b08bcf00f9b |
|
MD5 | c5341ee3e2c43dd7acd27a4d6b74bdb7 |
|
BLAKE2b-256 | 6afba7bdf5dd1205abe4ebdeeebc644945c13da7240c0fb1758a9c229abd57eb |
Close
Hashes for numpy_allocator-1.0.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab7d724b62a7fd29f3c22f290d75e4bff2c1a2e885de3621ec96cacd9990ec59 |
|
MD5 | 0fdcd3952bfb15bf2739797bae7ccc3c |
|
BLAKE2b-256 | 0b27a82fde04caf276070b691c8ddaffe33c79cb7e0aa8f2097963d06d14078a |
Close
Hashes for numpy_allocator-1.0.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e5c3bcd0494b84b23d4fd36b12e7c83b0e0fcbd8d41430374ae6c2b8988f3e1 |
|
MD5 | c7c59c01f2f0b5bb5c60f15ef66f7b28 |
|
BLAKE2b-256 | 1d0771985b5200b84e4d8d6ed597081215a12c5c1233cda28cfc7810862c8d59 |
Close
Hashes for numpy_allocator-1.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2134d13563c40775933bb691a47f331b402591783ea4b904a08c726ca0d33fde |
|
MD5 | b6beb50485b7b5ae8f4685bb7373362e |
|
BLAKE2b-256 | 5bbd974fb0f37feee9bdc4b82d8ca170541db2f558b5137ab210e52f927d9308 |