0.1.0 • Published 7 months ago

memory-allocator v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

memory-allocator

A simple ArrayBuffer memory allocator for JS.

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).

License

MIT.

Contributing

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".

Documentation

The package exports MemoryAllocator class as the default and also exports MemoryRef class.

class MemoryAllocator

The main class.

constructor(bufferSize: number = 1024 ** 2)

bufferSize parameters controls minimal size of the new array buffers created by MemoryAllocator when it is impossible to allocate data in old buffers.

.addBuffer(size?: number >= bufferSize): ignore

Manually create a buffer of the specified size.

.allocate(size): MemoryRef

Allocate a slice of memory of the specified size. The resulting memory ref is returned.

class MemoryRef

Reference to a slice of memory. Note that underlying slice may be relocated during a manual defragmentation.

async .free(): void

Mark the reference as freed. It can no longer be used after that and the underlying memory may be redistributed.

.toDataView(): DataView

Returns a DataView of the underlying memory, which can be read and written to.

.toTypedArray(class?: Class\<? extends TypedArray> = Uint8Array): class

Returns a typed array mapped to the underlying memory, which can be read and written to.

0.1.0

7 months ago

0.0.3

8 months ago

0.0.2

8 months ago