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.

/ab-neuter/

    Package Sidebar

    Install

    npm i ab-neuter

    Weekly Downloads

    1

    Version

    0.1.3

    License

    MIT

    Last publish

    Collaborators

    • trev.norris