Name : python311-cymem
| |
Version : 2.0.8
| Vendor : openSUSE
|
Release : 1.5
| Date : 2023-09-18 11:22:35
|
Group : Unspecified
| Source RPM : python-cymem-2.0.8-1.5.src.rpm
|
Size : 0.12 MB
| |
Packager : https://bugs_opensuse_org
| |
Summary : Manage calls to calloc/free through Cython
|
Description :
cymem provides two small memory-management helpers for Cython. They make it easy to tie memory to a Python object\'s life-cycle, so that the memory is freed when the object is garbage collected.
The most useful is `cymem.Pool`, which acts as a thin wrapper around the calloc function:
```python from cymem.cymem cimport Pool cdef Pool mem = Pool() data1 = < int*>mem.alloc(10, sizeof(int)) data2 = < float*>mem.alloc(12, sizeof(float)) ```
The `Pool` object saves the memory addresses internally, and frees them when the object is garbage collected. Typically you\'ll attach the `Pool` to some cdef\'d class. This is particularly handy for deeply nested structs, which have complicated initialization functions. Just pass the `Pool` object into the initializer, and you don\'t have to worry about freeing your struct at all — all of the calls to `Pool.alloc` will be automatically freed when the `Pool` expires.
|
RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/openSUSE:/ALP:/Experimental:/Slowroll/base.20240803/repo/oss/x86_64 |