Very fast way of converting "arguments" into array.
This module does the same than fast-args, the only difference is that you can call this with
Using
This module uses rest parameters if supported by the javascript engine.
Always use
This module does the same than fast-args, the only difference is that you can call this with
apply
.Using
function.apply(null, arguments)
works on the optimizing compiler while using function(arguments)
generates a leaks of the arguments object and prevent optimizations.This module uses rest parameters if supported by the javascript engine.
Installation
npm i --save very-fast-args
Usage
const fargs = require('very-fast-args');
function myFunc() {
const args = fargs.apply(null, arguments);
//do something with args.
}
Always use
fargs.apply(null, arguments)
and do not use fargs(arguments)
.Test about optimization
You can test the behavior of the compiler as follows:» node --trace-deopt --trace-opt bench/simple.js | grep arguments
» node --trace-deopt --trace-opt bench/simple-with-fa.js | grep arguments
[disabled Crankshaft for 0x384b6486d409 <SharedFunctionInfo withVeryFastArgs>, reason: Bad value context for arguments value]