Improve benchmark/http_simple.js
authorRyan Dahl <ry@tinyclouds.org>
Wed, 13 Oct 2010 21:16:49 +0000 (14:16 -0700)
committerRyan Dahl <ry@tinyclouds.org>
Wed, 13 Oct 2010 21:30:50 +0000 (14:30 -0700)
benchmark/http_simple.js

index 446b3b33f40196f5be05ce9e8b882365eab8c91a..93903c42a92f9e9a942881ade1ddbf45d5c738f4 100644 (file)
@@ -1,24 +1,40 @@
 path = require("path");
-Buffer = require("buffer").Buffer;
+exec = require("child_process").exec;
+http = require("http");
 
 port = parseInt(process.env.PORT || 8000);
 
-var old = (process.argv[2] == 'old');
-
 console.log('pid ' + process.pid);
 
-http = require(old ? "http_old" : 'http');
-if (old) console.log('old version');
-
 fixed = ""
 for (var i = 0; i < 20*1024; i++) {
   fixed += "C";
 }
 
+var uname, rev;
+
+exec('git rev-list -1 HEAD', function (e, stdout) {
+  if (e) {
+    console.error("Problem executing: 'git rev-list -1 HEAD'");
+    throw new Error(e);
+  }
+  rev = stdout.replace(/\s/g, '');
+});
+
+exec('uname -a', function (e, stdout) {
+  if (e) {
+    console.error("Problem executing: 'uname -a'");
+    throw new Error(e);
+  }
+  uname = stdout.replace(/[\r\n]/g, '');
+});
+
+
+
 stored = {};
 storedBuffer = {};
 
-http.createServer(function (req, res) {
+var server = http.createServer(function (req, res) {
   var commands = req.url.split("/");
   var command = commands[1];
   var body = "";
@@ -57,6 +73,9 @@ http.createServer(function (req, res) {
   } else if (command == "fixed") {
     body = fixed;
 
+  } else if (command == "info") {
+    body = 'rev: ' + rev + '\n' + 'uname: ' + uname + '\n';
+
   } else {
     status = 404;
     body = "not found\n";
@@ -64,17 +83,13 @@ http.createServer(function (req, res) {
 
   var content_length = body.length.toString();
 
-  res.writeHead( status
-                , { "Content-Type": "text/plain"
-                  , "Content-Length": content_length
-                  }
-                );
-  if (old) {
-    res.write(body, 'ascii');
-    res.close();
-  } else {
-    res.end(body, 'ascii');
-  }
-}).listen(port);
+  res.writeHead(status, { "Content-Type": "text/plain",
+                          "Content-Length": content_length });
+  res.end(body);
+
+});
+
+server.listen(port, function () {
+  console.log('Listening at http://127.0.0.1:'+port+'/');
+});
 
-console.log('Listening at http://127.0.0.1:'+port+'/');