diff options
author | kpdecker <kpdecker@gmail.com> | 2013-08-25 14:14:47 -0500 |
---|---|---|
committer | kpdecker <kpdecker@gmail.com> | 2013-08-25 14:14:47 -0500 |
commit | ab64fec1a8036e165c64dbee45c5547fcdadcd47 (patch) | |
tree | 5e80e37a82469af9719c058cfa340d474dac20c0 | |
parent | 672aeda17f9309ad7e4d31ef1c3b9a302fbb5baf (diff) | |
download | handlebars.js-ab64fec1a8036e165c64dbee45c5547fcdadcd47.zip handlebars.js-ab64fec1a8036e165c64dbee45c5547fcdadcd47.tar.gz handlebars.js-ab64fec1a8036e165c64dbee45c5547fcdadcd47.tar.bz2 |
Collect size metrics
-rw-r--r-- | bench/dist-size.js | 15 | ||||
-rw-r--r-- | bench/precompile-size.js | 19 |
2 files changed, 34 insertions, 0 deletions
diff --git a/bench/dist-size.js b/bench/dist-size.js new file mode 100644 index 0000000..b063bee --- /dev/null +++ b/bench/dist-size.js @@ -0,0 +1,15 @@ +var _ = require('underscore'), + fs = require('fs'); + +module.exports = function(grunt, callback) { + var distFiles = fs.readdirSync('dist'), + distSizes = {}; + + _.each(distFiles, function(file) { + var stat = fs.statSync('dist/' + file); + distSizes[file.replace(/\.js/, '').replace(/\./g, '_')] = stat.size; + }); + + grunt.log.writeln('Distribution sizes: ' + JSON.stringify(distSizes, undefined, 2)); + callback([distSizes]); +}; diff --git a/bench/precompile-size.js b/bench/precompile-size.js new file mode 100644 index 0000000..12fb0dc --- /dev/null +++ b/bench/precompile-size.js @@ -0,0 +1,19 @@ +var _ = require('underscore'), + templates = require('./templates'); + +module.exports = function(grunt, callback) { + // Deferring to here in case we have a build for parser, etc as part of this grunt exec + var Handlebars = require('../lib/handlebars'); + + var templateSizes = {}; + _.each(templates, function(info, template) { + var src = info.handlebars, + compiled = Handlebars.precompile(src, {}), + knownHelpers = Handlebars.precompile(src, {knownHelpersOnly: true, knownHelpers: info.helpers}); + + templateSizes[template] = compiled.length; + templateSizes['knownOnly_' + template] = knownHelpers.length; + }); + grunt.log.writeln('Precompiled sizes: ' + JSON.stringify(templateSizes, undefined, 2)); + callback([templateSizes]); +}; |