Skip to content

Commit

Permalink
Improve domain usage in http_simple benchmark
Browse files Browse the repository at this point in the history
There were two problems with the way domains were used in the benchmark:

a) A global domain was created. IMO this is not how one would normally
use domains, as an error caught by a global domain would be just as
difficult to handle as an 'uncaughtException' one. More importantly:
Setting up a global domain makes implicit domain member tracking
expensive as per-request domains will now also be tracked as members of
the global domain.

b) The per-request domains created in the benchmark were never entered.
While it didn't have an impact on the performance of the benchmark, it
does seem a bit pointless to not enter the domains, so this patch causes
them to be entered.
  • Loading branch information
felixge committed Jun 29, 2012
1 parent 16cbec0 commit 44a0f74
Showing 1 changed file with 1 addition and 7 deletions.
8 changes: 1 addition & 7 deletions benchmark/http_simple.js
Expand Up @@ -13,22 +13,16 @@ var fixed = makeString(20 * 1024, 'C'),

var useDomains = process.env.NODE_USE_DOMAINS;

// set up one global domain.
if (useDomains) {
var domain = require('domain');
var gdom = domain.create();
gdom.on('error', function(er) {
console.log('Error on global domain', er);
throw er;
});
gdom.enter();
}

var server = http.createServer(function (req, res) {
if (useDomains) {
var dom = domain.create();
dom.add(req);
dom.add(res);
dom.enter();
}

var commands = req.url.split('/');
Expand Down

0 comments on commit 44a0f74

Please sign in to comment.