そこで、Node.js でこの単純なテスト サーバーを作成しまし
た。ダイレクト レスポンスを行うたびに、1秒あたり 2200のリクエストを受け取ります (速い!)。シンプルな Q deferred だけをラップすると、 580リクエスト/秒 ( 4 倍遅くなります!)に落ちます。その大きな違いを説明できる人はいますか?
// Requires
var server = require('http');
var q = require('q');
// Start server
var http = require('http');
http.createServer(function(request, response) {
// Comment out either of two below sections
// Without deferred
// 2200 reqs/second
response.writeHead(200, {"Content-Type": "text/html"});
response.write("test");
response.end();
// Q deferred
// 580 reqs/second
var deferred = q.defer();
deferred.promise.then(function() {
response.writeHead(200, {"Content-Type": "text/html"});
response.write("test");
response.end();
});
deferred.resolve();
}).listen(1234);