[][src]Crate bulk_allocator

bulk-allocator is implementations for GlobalAlloc holding memory cache. The instance acquires bulk memories from the backend, and frees them on the drop at once for the performance.

Method dealloc does not free the specified pointer soon, but pools in the cache.

Method alloc pops and returns from the cache if not empty; otherwise, alloc allocates a bulk memory from the backend, splits into pieces to make cache at first.

It is when the instance is dropped that the memory chunks are deallocated.

Structs

BulkA

'BulkA' stands for 'Bulk Allocator'. This implements GlobalAlloc . It allocates and caches bulk memory from the backend, and deallocates them on the drop at once.

LayoutBulkA

'LayoutBulkA' stands for 'single-Layout-cache Bulk Allocator'. This implements GlobalAlloc . It allocates and caches bulk memory from the backend, and deallocates them on the drop at once.

UnBulkA

'UnBulkA' stands for 'Unsafe Bulk Allocator'. This implements GlobalAlloc . It allocates and caches bulk memory from the backend, and deallocates them on the drop at once.

UnLayoutBulkA

'UnLayoutBulkA' stands for 'Unsafe single-Layout-cache Bulk Allocator'. This implements GlobalAlloc . It allocates and caches bulk memory from the backend, and deallocates them on the drop at once.

Constants

MEMORY_CHUNK_SIZE

The default byte count of bulk memory that this crate allocates from the backend if no cache is. Note that if too large layout is requested, the bulk size may exceed this value.