GT2/GT2-Android/node_modules/very-fast-args
Ren Ren Juan c5fd23b54f Get new tree with state verified with current React Native on both platforms 2018-02-12 17:11:06 +00:00
..
bench Get new tree with state verified with current React Native on both platforms 2018-02-12 17:11:06 +00:00
test Get new tree with state verified with current React Native on both platforms 2018-02-12 17:11:06 +00:00
.jshintrc Get new tree with state verified with current React Native on both platforms 2018-02-12 17:11:06 +00:00
.npmignore Get new tree with state verified with current React Native on both platforms 2018-02-12 17:11:06 +00:00
LICENSE Get new tree with state verified with current React Native on both platforms 2018-02-12 17:11:06 +00:00
README.md Get new tree with state verified with current React Native on both platforms 2018-02-12 17:11:06 +00:00
index.js Get new tree with state verified with current React Native on both platforms 2018-02-12 17:11:06 +00:00
package.json Get new tree with state verified with current React Native on both platforms 2018-02-12 17:11:06 +00:00

README.md

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 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]

License

This project is licensed under the MIT license. See the LICENSE file for more info.