Skip to content

phughesmcr/PartitionedBuffer

PartitionedBuffer

A high-performance PartitionedBuffer implementation backed by Uint32Array for efficient memory usage and fast bitwise operations.

MIT License Written in Typescript Deno version Bun version Node version

See jsr.io/@phughesmcr/partitionedbuffer for complete documentation.

Installation

Node

npx jsr add @phughesmcr/partitionedbuffer
import { PartitionedBuffer } from "@phughesmcr/partitionedbuffer";

Deno

deno add jsr:@phughesmcr/partitionedbuffer
import { PartitionedBuffer } from "@phughesmcr/partitionedbuffer";

Bun

bunx jsr add @phughesmcr/partitionedbuffer
import { PartitionedBuffer } from "@phughesmcr/partitionedbuffer";

Usage

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;

Contributing

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.

License

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.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published