ab-neuter

0.1.3 • Public • Published

ArrayBuffer Neuter

Remove the underlying data from an ArrayBuffer and free the memory manually. For safety, only ArrayBuffers that have not been externalized can be neutered.

Install

$ npm install ab-neuter

Usage

const neuter = require('ab-neuter');
const net = require('net');
 
net.createServer((c) => {
  c.on('data', (chunk) => {
    // Perform operation on the Buffer, then manually free the memory.
    neuter(chunk);
  });
}).listen();

Benchmarks

The included benchmark creates a TCP server and client as a child process then pumps as much data through as possible. Every three seconds it will print the amount of Gbit/sec that have been transferred from the client to the server. Run it using:

$ node benchmark/bench-net.js

By default the transferred Buffer will be neutered in the 'data' callback. To disable neutering pass --no-neuter:

$ node benchmark/bench-net.js --no-neuter

The benchmark has been optimized to show the maximum difference between the two, and at the moment there's no way to change the parameters from the command line.

Package Sidebar

Install

npm i ab-neuter

Weekly Downloads

2

Version

0.1.3

License

MIT

Last publish

Collaborators

  • trev.norris