

Standalone web applications using OCaml + Ocsigen, benchmarked against Rails - mindaugas
http://eigenclass.org/R2/writings/standalone-ocaml-webapps

======
mdasen
A look at the language shootout
([http://shootout.alioth.debian.org/u32q/benchmark.php?test=al...](http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=all))
shouldn't make this so surprising. OCaml is faster than Ruby (about 24x faster
which, incidentally, is pretty close to the 22x greater requests served).

But as someone who has done a lot of web applications and as many of you I'm
sure feel: it doesn't matter how fast your web application runs. What matters
is whether your database layer and the schema you're using scales.

I guess the only arena that I really care about performance in is the
database/datastore arena. Plus, Ruby is getting better optimized. Ruby 1.9
should be a huge leap forward and while it won't beat OCaml, it will be much,
much better. So, I guess I can't get too worried about a performance problem
that's easily taken care of - unlike database performance problems which are a
complete PITA!

~~~
mindaugas
Personally I think ruby is fast enough in most cases. I'd vote for lower
memory usage though.

But the point is that ocaml brings so much more interesting tings to web
application development and deploy than raw speed, though that helps too.

------
tptacek
Nobody, anywhere, under any circumstances, has ever chosen Rails for the
speed. So this is interesting, but not particularly useful.

------
mindaugas
read the comment number 5 for quick explanation.

------
mtw
this is like comparing Apache vs Rails.

OCaml + Ocsigen is just a web server with handy features to generate clean
modern html. Rails on the other hand has an ORM plus the other libraires to
make it a real web framework.

~~~
mfp
What is needed to make something a "real" web framework? Ocsigen/Eliom does
handle sessions, routing, page parameters, forms, continuation-based sites,
templating and other things you'd expect from a web framework. The main thing
Rails includes but Ocsigen/Eliom doesn't is an ORM.

