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 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 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 commented Sep 2, 2011

feel free to fork :)

@hrdwdmrbl

This comment has been minimized.

Copy link

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
You can’t perform that action at this time.