性能测试代码
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user