ab-neuter
v0.1.3
Published
Neuter any Typed Array or ArrayBuffer
Readme
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-neuterUsage
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.jsBy default the transferred Buffer will be neutered in the 'data' callback.
To disable neutering pass --no-neuter:
$ node benchmark/bench-net.js --no-neuterThe 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.
