Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Improve domain usage in http_simple benchmark

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...
commit 44a0f7417b78a2d32bc0434670c5a924dd8d85b7 1 parent 16cbec0
@felixge felixge authored
Showing with 1 addition and 7 deletions.
  1. +1 −7 benchmark/http_simple.js
View
8 benchmark/http_simple.js
@@ -13,15 +13,8 @@ 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) {
@@ -29,6 +22,7 @@ var server = http.createServer(function (req, res) {
var dom = domain.create();
dom.add(req);
dom.add(res);
+ dom.enter();
}
var commands = req.url.split('/');
Please sign in to comment.
Something went wrong with that request. Please try again.