From 32bd1dfd53ce5e10e4370e264d10389c5fcae03c Mon Sep 17 00:00:00 2001 From: satyr Date: Wed, 17 Nov 2010 23:53:39 +0900 Subject: [PATCH] rewrote "cake bench" to see more consistent results --- Cakefile | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/Cakefile b/Cakefile index 9459a10c..4ffa01fd 100644 --- a/Cakefile +++ b/Cakefile @@ -5,6 +5,7 @@ CoffeeScript = require './lib/coffee-script' {spawn, exec} = require 'child_process' # ANSI Terminal Colors. +bold = '\033[0;1m' red = '\033[0;31m' green = '\033[0;32m' reset = '\033[0m' @@ -20,6 +21,12 @@ header = """ */ """ +sources = [ + 'src/coffee-script.coffee', 'src/grammar.coffee' + 'src/helpers.coffee', 'src/lexer.coffee', 'src/nodes.coffee' + 'src/rewriter.coffee', 'src/scope.coffee' +] + # Run a CoffeeScript through our node/coffee interpreter. run = (args) -> proc = spawn 'bin/coffee', args @@ -114,12 +121,15 @@ task 'doc:underscore', 'rebuild the Underscore.coffee documentation page', -> exec 'docco examples/underscore.coffee && cp -rf docs documentation && rm -r docs', (err) -> throw err if err -task 'bench', 'quick benchmark of compilation time (of everything in src)', -> - exec 'time bin/coffee -p src/ > /dev/null', (err, stdout, stderr) -> - console.log stderr.trim() +task 'bench', 'quick benchmark of compilation time', -> + cs = sources.map((name) -> fs.readFileSync name).join '\n' + now = Date.now() + js = CoffeeScript.compile cs, bare: true + console.log """ + #{bold}#{ Date.now() - now }[ms]#{reset} compiling #{js.length} bytes + """ task 'loc', 'count the lines of source code in the CoffeeScript compiler', -> - sources = ['src/coffee-script.coffee', 'src/grammar.coffee', 'src/helpers.coffee', 'src/lexer.coffee', 'src/nodes.coffee', 'src/rewriter.coffee', 'src/scope.coffee'] exec "cat #{ sources.join(' ') } | grep -v '^\\( *#\\|\\s*$\\)' | wc -l | tr -s ' '", (err, stdout) -> console.log stdout.trim()