性能测试代码

This commit is contained in:
Lei Zongmin
2013-05-08 16:14:49 +08:00
parent 4a2428dc1a
commit 02cf9113da
2 changed files with 35 additions and 9 deletions

View File

@@ -6,19 +6,45 @@ var xss = require('../');
var fs = require('fs'); var fs = require('fs');
// 读取样例
var html = fs.readFileSync(__dirname + '/file.html', 'utf8'); var html = fs.readFileSync(__dirname + '/file.html', 'utf8');
var COUNT = 200;
var ret = '';
var timeStart = Date.now(); var timeStart = Date.now();
for (var i = 0; i < 1000; i++) { for (var i = 0; i < COUNT; i++) {
var ret = xss(html); ret = xss(html);
} }
var timeEnd = Date.now(); var timeEnd = Date.now();
//console.log(ret);
fs.writeFileSync(__dirname + '/result.html', ret);
var spent = timeEnd - timeStart; var spent = timeEnd - timeStart;
var speed = (((html.length * i) / spent * 1000) / 1024 / 1024).toFixed(2); var speed = (((html.length * i) / spent * 1000) / 1024 / 1024).toFixed(2);
console.log('spent ' + spent + 'ms, ' + speed + 'MB/s'); console.log('xss(): spent ' + spent + 'ms, ' + speed + 'MB/s');
var x = new xss.FilterXSS();
var timeStart = Date.now();
for (var i = 0; i < COUNT; i++) {
ret = x.process(html);
}
var timeEnd = Date.now();
var spent = timeEnd - timeStart;
var speed = (((html.length * i) / spent * 1000) / 1024 / 1024).toFixed(2);
console.log('xss.process(): spent ' + spent + 'ms, ' + speed + 'MB/s');
var x = new xss.FilterXSS();
var process = x.process.bind(x);
var timeStart = Date.now();
for (var i = 0; i < COUNT; i++) {
ret = process(html);
}
var timeEnd = Date.now();
var spent = timeEnd - timeStart;
var speed = (((html.length * i) / spent * 1000) / 1024 / 1024).toFixed(2);
console.log('xss.process() #2: spent ' + spent + 'ms, ' + speed + 'MB/s');
// 保存结果
//console.log(ret);
fs.writeFileSync(__dirname + '/result.html', ret);

View File

@@ -10,7 +10,7 @@ var html = fs.readFileSync(__dirname + '/file.html', 'utf8');
var timeStart = Date.now(); var timeStart = Date.now();
for (var i = 0; i < 1000; i++) { for (var i = 0; i < 100; i++) {
var ret = sanitize(html).xss(); var ret = sanitize(html).xss();
} }
var timeEnd = Date.now(); var timeEnd = Date.now();