Commit 26185dab by Konstantin Käfer

insert benchmark

parent 8065a382
var Benchmark = require('benchmark');
var sqlite3 = require('../lib/sqlite3');
var suite = new Benchmark.Suite;
var iterations = 10000;
// add tests
suite
.add('insert without transaction', function() {
var bench = this;
var db = new sqlite3.Database('');
db.serialize(function() {
db.run("CREATE TABLE foo (id INT, txt TEXT)");
var stmt = db.prepare("INSERT INTO foo VALUES (?, ?)");
for (var i = 0; i < iterations; i++) {
stmt.run(i, 'Row ' + i);
}
stmt.finalize();
});
db.close(function() {
bench.emit('complete');
});
}, {
onComplete: function() {
console.log('compelte2');
}
})
.add('insert with transaction', function() {
'Hello World!'.indexOf('o') > -1;
})
// add listeners
suite
.on('cycle', function(bench) {
console.log(String(bench));
})
.on('complete', function() {
console.log('Fastest is ' + this.filter('fastest').pluck('name'));
})
.run(true);
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
var sqlite3 = require('../lib/sqlite3');
var fs = require('fs');
var iterations = 10000;
exports.compare = {
'insert literal file': function(finished) {
var db = new sqlite3.Database('');
var file = fs.readFileSync('benchmark/insert-transaction.sql', 'utf8');
db.exec(file);
db.close(finished)
},
'insert with transaction and two statements': function(finished) {
var db = new sqlite3.Database('');
db.serialize(function() {
db.run("CREATE TABLE foo (id INT, txt TEXT)");
db.run("BEGIN");
db.parallelize(function() {
var stmt1 = db.prepare("INSERT INTO foo VALUES (?, ?)");
var stmt2 = db.prepare("INSERT INTO foo VALUES (?, ?)");
for (var i = 0; i < iterations; i++) {
stmt1.run(i, 'Row ' + i);
i++;
stmt2.run(i, 'Row ' + i);
}
stmt1.finalize();
stmt2.finalize();
});
db.run("COMMIT");
});
db.close(finished);
},
'insert with transaction': function(finished) {
var db = new sqlite3.Database('');
db.serialize(function() {
db.run("CREATE TABLE foo (id INT, txt TEXT)");
db.run("BEGIN");
var stmt = db.prepare("INSERT INTO foo VALUES (?, ?)");
for (var i = 0; i < iterations; i++) {
stmt.run(i, 'Row ' + i);
}
stmt.finalize();
db.run("COMMIT");
});
db.close(finished);
},
'insert without transaction': function(finished) {
var db = new sqlite3.Database('');
db.serialize(function() {
db.run("CREATE TABLE foo (id INT, txt TEXT)");
var stmt = db.prepare("INSERT INTO foo VALUES (?, ?)");
for (var i = 0; i < iterations; i++) {
stmt.run(i, 'Row ' + i);
}
stmt.finalize();
});
db.close(finished);
}
};
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment