Navigation Menu

Skip to content

Commit

Permalink
Async vs sync save benchmarks
Browse files Browse the repository at this point in the history
  • Loading branch information
nikhilm committed Mar 22, 2012
1 parent 6086e5f commit 7f0b69e
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 0 deletions.
31 changes: 31 additions & 0 deletions async-write.js
@@ -0,0 +1,31 @@
var taglib = require('./build/Release/taglib');
var async = require('async');
var fs = require('fs');
var match = require('match-files');

var isMp3 = function(path) { return path.match(/\.mp3$/); }

//for (var i = 1; i < 30; i++)
match.find(process.argv[2], {fileFilters: [isMp3]}, function(err, files) {
var t = Date.now();
var count = 0;
console.log(files.length, "files");
async.forEach(files, function(fn, cb) {
var tag = taglib.tag(fn, function(err, tag) {
if (err)
return cb(err);
count++;
var t = tag.title;
var rev = "";
for (var i = 0; i < t.length; i++)
rev = t[i] + rev;
tag.title = rev;
tag.save(function(err) {
cb(err);
});
});
}, function() {
console.log("async", Date.now() - t);
console.log("Tag succeeded on", count);
});
});
26 changes: 26 additions & 0 deletions sync-write.js
@@ -0,0 +1,26 @@
var taglib = require('./build/Release/taglib');
var fs = require('fs');
var match = require('match-files');

var isMp3 = function(path) { return path.match(/\.mp3$/); }

//for (var i = 0; i < 10; i++)
match.find(process.argv[2], {fileFilters: [isMp3]}, function(err, files) {
var t = Date.now();
var count = 0;
console.log(files.length, "files");
files.forEach(function(fn) {
try {
var tag = taglib.tagSync(fn);
count++;
var t = tag.title;
var rev = "";
for (var i = 0; i < t.length; i++)
rev = t[i] + rev;
tag.title = rev;
tag.saveSync();
} catch(e) {}
});
console.log("sync", Date.now() - t);
console.log("Tag succeeded on", count);
});

0 comments on commit 7f0b69e

Please sign in to comment.