Skip to content

Instantly share code, notes, and snippets.

What would you like to do?


ruby 1.9.2 + async_sinatra + thin thin start

ab -n 10000 -c 100 http://localhost:3000/
-> 49ms / request


node server.js

ab -n 10000 -c 100 http://localhost:3000/
-> 20ms / request
require 'sinatra/async'
class AsyncTest < Sinatra::Base
register Sinatra::Async
aget '/' do
body "hello async"
// Load the http module to create an http server.
var http = require('http');
// Configure our HTTP server to respond with Hello World to all requests.
var server = http.createServer(function (request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.end("Hello World\n");
// Listen on port 8000, IP defaults to
// Put a friendly message on the terminal
console.log("Server running at");

This comment has been minimized.

Copy link

@aspes aspes commented Aug 18, 2011

I don't think it's fair comparison because Sinatra is having more features.
So, put something on to node server.js(such as express so that it can match sinatra)
and test again.


This comment has been minimized.

Copy link

@kgriffs kgriffs commented Sep 2, 2011

Or you could go the other way and benchmark a straight Rack "Hello World" application.


This comment has been minimized.

Copy link
Owner Author

@grosser grosser commented Sep 2, 2011

feel free to fork :)


This comment has been minimized.

Copy link

@hrdwdmrbl hrdwdmrbl commented Jun 19, 2012

With ruby 1.9.3 I got about 98ms with ruby and 21ms with node 0.6.18

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment