

Up and Running with Clojure - rudyjahchan
http://blog.carbonfive.com/2011/10/20/up-and-running-with-clojure/

======
moomin
I'm thinking that ultimately, you're testing two different things here.
Language speed is part of it, but also the performance of your web server
library.

I'm not saying it's unfair or meaningless, but it's worth bearing in mind
that, for instance, the node.js web server is mostly written in native code,
while the clojure web server is written in Clojure. For a large program, I
imagine that node would get slower and slower, and Clojure and Scala would get
faster and faster.

~~~
gtrak
It's hard to know what you're actually testing without profiling. My guess is
it's only the overhead of netty and lamina at play here, and not clojure
itself. There are profiling facilities to know for sure, and the author should
try to check that out. I can get like 8k request/s from clojure with jetty
last time I tried.

------
icey
If anyone is looking for a (very slightly) larger Clojure web app to poke
around in, I rolled an example Noir app together a few weeks ago:

<https://github.com/pmn/noir-messageboard>

It doesn't do much, but it does do more than the usual "Hello World" style
apps.

~~~
peteysd
Thanks for sharing. I'm coming up to speed with Noir myself, and it's very
helpful to see how others are building their websites with it.

------
jarecare
I wonder if other JVM languages, e.g., Scala, would have the same performance
in the "Hello World" test cited in the article.

~~~
prospero
I'm the author of Aleph, the Clojure web server being benchmarked.

The most recent release of Aleph has focused on adding instrumentation and
support for easily creating asynchronous workflows. A lot of new abstractions
have been introduced, and "Hello World" performance has suffered a bit as a
result.

However, now that all this has been introduced (0.2.0 is very close to
release), I'm planning a "tick" release [1] that will focus on regaining some
of the lost performance.

So please don't judge Clojure's potential for performant Hello World servers
by what Aleph can do right now.

[1] <http://en.wikipedia.org/wiki/Intel_Tick-Tock>

~~~
gtrak
thank you for informing the numbers, I get much better results with straight
ring and jetty through clojure, so it's annoying to see 'clojure is exactly
this slow relative to the others'

------
mwynholds
This post is interesting, and I am interested in Clojure. But I'd like to see
some more posts about real-world Clojure usage.

~~~
gtani
Can't find anything very current, but if you look at names here, Backtype,
flightcaster, Runa, there's a lot of info. Best is to hit a user group/meetup
or start one:

<http://www.meetup.com/clojure/>

<http://clojure.org/community>

\------------------

<http://lispjobs.wordpress.com/category/clojure/>

<http://news.ycombinator.com/item?id=1453259>

[http://clojure02.managed.contegix.com/display/community/Cloj...](http://clojure02.managed.contegix.com/display/community/Clojure+Success+Stories)

[http://www.reddit.com/r/Clojure/comments/d7ofw/akamai_lookin...](http://www.reddit.com/r/Clojure/comments/d7ofw/akamai_looking_to_hire_a_clojure_developer_to/)

------
adambyrtek
I'm surprised that this landed on the front page. What's the point of
benchmarking hello world in the first place? Not to mention that data
collected from a single ab run with a fixed concurrency number is not
significant in any way.

------
gtrak
Reminds me of this: [http://blog.dhananjaynene.com/2011/08/cperformance-
compariso...](http://blog.dhananjaynene.com/2011/08/cperformance-comparison-
languages-styles-and-vms-java-scala-python-erlang-clojure-ruby-groovy-
javascript/)

note the retraction after he tried to keep everything updated for a while.

