use mocha for benchmark (allow better mocha grepping + it's cleaner)

This commit is contained in:
Romain Beaumont 2015-09-30 18:11:57 +02:00
parent 8d9f37c2ba
commit 1d5f55235e

View File

@ -1,8 +1,8 @@
var ITERATIONS = 100000; var ITERATIONS = 100000;
var mc = require("../"); var mc = require("../");
util = require('util'), var util = require('util');
states = mc.states; var states = mc.states;
var testDataWrite = [ var testDataWrite = [
{name: 'keep_alive', params: {keepAliveId: 957759560}}, {name: 'keep_alive', params: {keepAliveId: 957759560}},
@ -12,23 +12,34 @@ var testDataWrite = [
]; ];
mc.supportedVersions.forEach(function(supportedVersion){ mc.supportedVersions.forEach(function(supportedVersion){
var mcData=require("minecraft-data")(supportedVersion);
var version=mcData.version;
describe("benchmark "+version.minecraftVersion,function(){
var inputData = []; var inputData = [];
var serializer=new mc.createSerializer({state:states.PLAY,isServer:false,version:supportedVersion}); it("bench serializing",function(done){
var serializer=new mc.createSerializer({state:states.PLAY,isServer:false,version:version.majorVersion});
var start, i, j; var start, i, j;
console.log('Beginning write test for '+supportedVersion); console.log('Beginning write test');
start = Date.now(); start = Date.now();
for(i = 0; i < ITERATIONS; i++) { for(i = 0; i < ITERATIONS; i++) {
for(j = 0; j < testDataWrite.length; j++) { for(j = 0; j < testDataWrite.length; j++) {
inputData.push(serializer.createPacketBuffer(testDataWrite[j].name, testDataWrite[j].params)); inputData.push(serializer.createPacketBuffer(testDataWrite[j].name, testDataWrite[j].params));
} }
} }
console.log('Finished write test in ' + (Date.now() - start) / 1000 + ' seconds'); var result=(Date.now() - start) / 1000;
console.log('Finished write test in ' + result + ' seconds');
done();
});
var deserializer=new mc.createDeserializer({state:states.PLAY,isServer:true,version:supportedVersion}); it("bench parsing",function(done){
console.log('Beginning read test for '+supportedVersion); var deserializer=new mc.createDeserializer({state:states.PLAY,isServer:true,version:version.majorVersion});
console.log('Beginning read test');
start = Date.now(); start = Date.now();
for (j = 0; j < inputData.length; j++) { for (j = 0; j < inputData.length; j++) {
deserializer.parsePacketData(inputData[j]); deserializer.parsePacketData(inputData[j]);
} }
console.log('Finished read test in ' + (Date.now() - start) / 1000 + ' seconds'); console.log('Finished read test in ' + (Date.now() - start) / 1000 + ' seconds');
done();
});
});
}); });