From 62cbbe2b4818e7b03e8da96c97717419c0cb7960 Mon Sep 17 00:00:00 2001 From: Louis Chatriot Date: Wed, 29 May 2013 15:10:43 +0200 Subject: [PATCH] Find and his benchmark work with indexing --- benchmarks/find.js | 21 ++++++++++++++++++--- benchmarks/insert.js | 4 ++-- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/benchmarks/find.js b/benchmarks/find.js index bd1be2c..e8f574e 100644 --- a/benchmarks/find.js +++ b/benchmarks/find.js @@ -7,15 +7,30 @@ var Datastore = require('../lib/datastore') , execTime = require('exec-time') , profiler = new execTime('FIND BENCH') , 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.apply(commonUtilities.prepareDb, benchDb) , 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(); } , async.apply(commonUtilities.insertDocs, d, n, profiler) diff --git a/benchmarks/insert.js b/benchmarks/insert.js index 67c3fea..bcf2de5 100644 --- a/benchmarks/insert.js +++ b/benchmarks/insert.js @@ -4,9 +4,9 @@ var Datastore = require('../lib/datastore') , commonUtilities = require('./commonUtilities') , execTime = require('exec-time') , profiler = new execTime('INSERT BENCH') - , n , d = new Datastore(benchDb) , program = require('commander') + , n ; program @@ -26,7 +26,7 @@ async.waterfall([ , function (cb) { d.loadDatabase(function (err) { if (err) { return cb(err); } - if (program.withIndex) { d.ensureIndex('docNumber'); } + if (program.withIndex) { d.ensureIndex({ fieldName: 'docNumber' }); } cb(); }); }