A high-performance PartitionedBuffer implementation backed by Uint32Array for efficient memory usage and fast bitwise operations.
See jsr.io/@phughesmcr/partitionedbuffer for complete documentation.
npx jsr add @phughesmcr/partitionedbuffer
import { PartitionedBuffer } from "@phughesmcr/partitionedbuffer";
deno add jsr:@phughesmcr/partitionedbuffer
import { PartitionedBuffer } from "@phughesmcr/partitionedbuffer";
bunx jsr add @phughesmcr/partitionedbuffer
import { PartitionedBuffer } from "@phughesmcr/partitionedbuffer";
deno task example
will run a complete example.
// Create a buffer with 1024 bytes and 64 entities (slots) per partition const buffer = new PartitionedBuffer(1024, 64); type Vec2 = { x: number, y: number }; const schema: Schema<Vec2> = { x: Float32Array, y: Float32Array }; // Add a partition with a schema const position = buffer.addPartition({ name: "position", schema }); // Set the first entity's x and y values position.partitions.x[0] = 1; position.partitions.y[0] = 2;
Contributions are welcome. The aim of the project is performance - both in terms of speed and GC allocation pressure.
Please run deno test
and deno task prep
to run the tests before committing.
PartitionedBuffer is released under the MIT license. See LICENSE
for further details.
© 2024 The PartitionedBuffer Authors. All rights reserved.
See AUTHORS.md
for author details.
Add Package
deno add jsr:@phughesmcr/partitionedbuffer
Import symbol
import * as partitionedbuffer from "@phughesmcr/partitionedbuffer";
---- OR ----
Import directly with a jsr specifier
import * as partitionedbuffer from "jsr:@phughesmcr/partitionedbuffer";
Add Package
npx jsr add @phughesmcr/partitionedbuffer
Import symbol
import * as partitionedbuffer from "@phughesmcr/partitionedbuffer";
Add Package
yarn dlx jsr add @phughesmcr/partitionedbuffer
Import symbol
import * as partitionedbuffer from "@phughesmcr/partitionedbuffer";
Add Package
pnpm dlx jsr add @phughesmcr/partitionedbuffer
Import symbol
import * as partitionedbuffer from "@phughesmcr/partitionedbuffer";
Add Package
bunx jsr add @phughesmcr/partitionedbuffer
Import symbol
import * as partitionedbuffer from "@phughesmcr/partitionedbuffer";