Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?

Sinatra

ruby 1.9.2 + async_sinatra + thin thin start

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

Node

node server.js

ab -n 10000 -c 100 http://localhost:3000/
-> 20ms / request
#!/usr/bin/env
require 'sinatra/async'
class AsyncTest < Sinatra::Base
register Sinatra::Async
aget '/' do
body "hello async"
end
end
run AsyncTest.new
// 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 127.0.0.1
server.listen(3000);
// Put a friendly message on the terminal
console.log("Server running at http://127.0.0.1:8000/");
@aspes

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.

@kgriffs

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.

@grosser

This comment has been minimized.

Copy link
Owner Author

@grosser grosser commented Sep 2, 2011

feel free to fork :)

@hrdwdmrbl

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