Skip to content

Congelli501/dejavu-optimizer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dejavu optimizer

The dejavu optimizer analyzes your code, making dejavu usages faster.
Benchmarks: jsperf

What it does?

  • Improves $super(), $self and $static usage
  • Removes the need for wrappers, improving performance by a great margin
  • Removes abstract functions from abstract classes
  • Removes functions from interfaces
  • Removes all $locked and $member() because they are not used in the loose version

Usage

Node script

There's a simple nodejs script located in the bin folder. If you are optimizing your code for nodejs then pass the --closure option. This will boost the performance when running code in v8. Please look at the jsperf results to see the difference in the different browsers.

Example usage:

node optimizer < file_in.js > file_out.js node optimizer --closure < file_in.js > file_out.closure.js

Programmatic

To use the optimizer programatically, please check bin/optimizer for an example.

Tasks

dejavu comes with an automaton and grunt task.

Sample usage of automaton:

var dejavuOptimizer = require('dejavu/tasks/optimizer.autofile');

module.exports = function (task) {
    task.do(dejavuOptimizer, {
        description: 'Optimize myfile',
        options: {
            closure: true, // defaults to false
            files: {
                'src/myfile.js': 'dst/myfile.opt.js'
            }
        }
    });
}

Sample usage of grunt:

grunt.loadNpmTasks('dejavu');

grunt.initConfig({
    dejavuopt: {
        sometarget: {
            closure: true, // defaults to false
            files: {
                'dst/myfile.opt.js': 'src/myfile.js'
            }
        }
    }
});

License

Released under the MIT License.

About

Make dejavu usages faster

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%