Find and his benchmark work with indexing

pull/2/head
Louis Chatriot 12 years ago
parent 411aa853fb
commit 62cbbe2b48
  1. 21
      benchmarks/find.js
  2. 4
      benchmarks/insert.js

@ -7,15 +7,30 @@ var Datastore = require('../lib/datastore')
, execTime = require('exec-time') , execTime = require('exec-time')
, profiler = new execTime('FIND BENCH') , profiler = new execTime('FIND BENCH')
, d = new Datastore(benchDb) , d = new Datastore(benchDb)
, n = 10000 , program = require('commander')
, n
; ;
if (process.argv[2]) { n = parseInt(process.argv[2], 10); } program
.option('-n --number [number]', 'Size of the collection to test on', parseInt)
.option('-i --with-index', 'Test with an index')
.parse(process.argv);
n = program.number || 10000;
console.log("----------------------------");
console.log("Test with " + n + " documents");
console.log(program.withIndex ? "Use an index" : "Don't use an index");
console.log("----------------------------");
async.waterfall([ async.waterfall([
async.apply(commonUtilities.prepareDb, benchDb) async.apply(commonUtilities.prepareDb, benchDb)
, function (cb) { , function (cb) {
d.loadDatabase(cb); d.loadDatabase(function (err) {
if (err) { return cb(err); }
if (program.withIndex) { d.ensureIndex({ fieldName: 'docNumber' }); }
cb();
});
} }
, function (cb) { profiler.beginProfiling(); return cb(); } , function (cb) { profiler.beginProfiling(); return cb(); }
, async.apply(commonUtilities.insertDocs, d, n, profiler) , async.apply(commonUtilities.insertDocs, d, n, profiler)

@ -4,9 +4,9 @@ var Datastore = require('../lib/datastore')
, commonUtilities = require('./commonUtilities') , commonUtilities = require('./commonUtilities')
, execTime = require('exec-time') , execTime = require('exec-time')
, profiler = new execTime('INSERT BENCH') , profiler = new execTime('INSERT BENCH')
, n
, d = new Datastore(benchDb) , d = new Datastore(benchDb)
, program = require('commander') , program = require('commander')
, n
; ;
program program
@ -26,7 +26,7 @@ async.waterfall([
, function (cb) { , function (cb) {
d.loadDatabase(function (err) { d.loadDatabase(function (err) {
if (err) { return cb(err); } if (err) { return cb(err); }
if (program.withIndex) { d.ensureIndex('docNumber'); } if (program.withIndex) { d.ensureIndex({ fieldName: 'docNumber' }); }
cb(); cb();
}); });
} }

Loading…
Cancel
Save