Update benchmark suite for node 0.8

This commit is contained in:
kpdecker
2013-01-14 00:00:11 -06:00
parent 24fc3a2288
commit f5079765ff
4 changed files with 48 additions and 50 deletions
-14
View File
@@ -92,20 +92,6 @@ directory "vendor"
desc "benchmark against dust.js and mustache.js"
task :bench => "vendor" do
require "open-uri"
#File.open("vendor/mustache.js", "w") do |file|
#file.puts open("https://github.com/janl/mustache.js/raw/master/mustache.js").read
#file.puts "module.exports = Mustache;"
#end
File.open("vendor/benchmark.js", "w") do |file|
file.puts open("https://raw.github.com/bestiejs/benchmark.js/master/benchmark.js").read
end
#if File.directory?("vendor/dustjs")
#system "cd vendor/dustjs && git pull"
#else
#system "git clone git://github.com/akdubya/dustjs.git vendor/dustjs"
#end
#if File.directory?("vendor/coffee")
#system "cd vendor/coffee && git pull"
+1 -1
View File
@@ -133,7 +133,7 @@ BenchWarmer.prototype = {
if(!bench.error) {
var count = bench.hz,
moe = count * bench.stats.RME / 100;
moe = count * bench.stats.rme / 100;
out = Math.round(count / 1000) + " ±" + Math.round(moe / 1000) + " (" + bench.cycles + ")";
} else {
+43 -34
View File
@@ -1,20 +1,22 @@
require.paths.push("lib");
require.paths.push("vendor");
require.paths.push("vendor/dustjs/lib");
require.paths.push("vendor/coffee/lib");
require.paths.push("vendor/eco/lib");
var BenchWarmer = require("./benchwarmer");
Handlebars = require("handlebars");
Handlebars = require("../lib/handlebars");
var dust = require("dust");
var Mustache = require("mustache");
var ecoExports = require("eco");
var dust, Mustache, eco;
eco = function(str) {
return ecoExports(str);
}
try {
dust = require("dust");
} catch (err) { /* NOP */ }
try {
Mustache = require("mustache");
} catch (err) { /* NOP */ }
try {
var ecoExports = require("eco");
eco = function(str) {
return ecoExports(str);
}
} catch (err) { /* NOP */ }
var benchDetails = {
string: {
@@ -113,39 +115,46 @@ var makeSuite = function(name) {
var error = function() { throw new Error("EWOT"); };
//bench("dust", function() {
//dust.render(templateName, context, function(err, out) { });
//});
if (dust) {
bench("dust", function() {
dust.render(templateName, context, function(err, out) { });
});
}
bench("handlebars", function() {
handlebarsTemplates[templateName](context);
});
//if(ecoTemplates[templateName]) {
//bench("eco", function() {
//ecoTemplates[templateName](context);
//});
//} else {
//bench("eco", error);
//}
if (eco) {
if(ecoTemplates[templateName]) {
bench("eco", function() {
ecoTemplates[templateName](context);
});
} else {
bench("eco", error);
}
}
//if(mustacheSource) {
//bench("mustache", function() {
//Mustache.to_html(mustacheSource, context, mustachePartials);
//});
//} else {
//bench("mustache", error);
//}
if (Mustache && mustacheSource) {
bench("mustache", function() {
Mustache.to_html(mustacheSource, context, mustachePartials);
});
} else {
bench("mustache", error);
}
});
}
for(var name in benchDetails) {
if(benchDetails.hasOwnProperty(name)) {
dust.loadSource(dust.compile(benchDetails[name].dust, name));
if (dust) {
dust.loadSource(dust.compile(benchDetails[name].dust, name));
}
handlebarsTemplates[name] = Handlebars.compile(benchDetails[name].handlebars);
if(benchDetails[name].eco) { ecoTemplates[name] = eco(benchDetails[name].eco); }
if (eco && benchDetails[name].eco) {
ecoTemplates[name] = eco(benchDetails[name].eco);
}
var partials = benchDetails[name].partials;
if(partials) {
+4 -1
View File
@@ -18,8 +18,11 @@
"uglify-js": "~1.2"
},
"devDependencies": {
"benchmark": "~1.0",
"dust": "~0.3",
"jison": "~0.3",
"mocha": "*"
"mocha": "*",
"mustache": "~0.7.2"
},
"main": "lib/handlebars.js",
"bin": {