1.6.0 • Published 7 years ago

memop v1.6.0

Weekly downloads
2
License
MIT
Repository
github
Last release
7 years ago

memop

Memory Operations

Install

npm install memop

Usage

Pool

let pool = new Pool(function () {
  return vmath.vec3.new(1,1,1);
}, 256);

let a = pool.alloc();
let b = pool.alloc();

// do stuff...

pool.free(a);
pool.free(b);

RecyclePool

let pool = new RecyclePool(function () {
  return {
    age: 0,
    velocity: [1,1,1]
  };
}, 256);

pool.add();
pool.add();

for (let i = 0; i < pool.length; ++i) {
  let p = pool.data[i];

  // do stuff...

  if (p.age > 10) {
    pool.remove(i);
    --i;
  }
}

FixedArray

let array = new FixedArray(100);

array.push(0);
array.push(1);
array.push(3);
array.push(4);

// do stuff...

array.fastRemove(2);

TypedArrayPool

let array1 = TypedArrayPool.alloc_float32(100);
let array2 = TypedArrayPool.alloc_int16(32);

// do stuff...

TypedArrayPool.free(array1);
TypedArrayPool.free(array2);

LinkedArray

let arr = new LinkedArray(100, () => {
  return {
    name: '',
    next: null,
    prev: null,
  };
});

let node = arr.add();
node.name = 'foobar';

arr.forEach(item => {
  // do stuff...
});

License

MIT © 2017 Johnny Wu

1.6.0

7 years ago

1.5.2

7 years ago

1.5.1

7 years ago

1.5.0

7 years ago

1.4.8

7 years ago

1.4.7

7 years ago

1.4.6

7 years ago

1.4.5

7 years ago

1.4.3

7 years ago

1.4.2

7 years ago

1.4.1

7 years ago

1.4.0

7 years ago

1.3.2

7 years ago

1.3.1

7 years ago

1.3.0

7 years ago

1.2.0

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago