A simple ArrayBuffer memory allocator for JS. It can be found on NPM as memory-allocator
or @warriors-life/memory-allocator
, or on GitHub Packages as latter.
Not to be confused with the memory-pool
package, which removes the overhead of object creation by maintaining a pool of them and modifying their properties (see also PrimitivePool
).
MIT.
Feel free to open an issue or make a pull request! You can find contributing guidelines here and as a start you can work on any issue labelled "good first issue".
The package exports MemoryAllocator
class as the default and also exports MemoryRef
class.
The main class.
bufferSize
parameters controls minimal size of the new array buffers created by MemoryAllocator when it is impossible to allocate data in old buffers.
Manually add a buffer of the specified size.
Allocate a slice of memory of the specified size. The resulting memory ref is returned.
Reference to a slice of memory. Note that underlying slice may be relocated during a manual defragmentation.
Mark the reference as freed. It can no longer be used after that and the underlying memory may be redistributed.
Returns a DataView of the underlying memory, which can be read and written to.
Returns a typed array mapped to the underlying memory, which can be read and written to.