

Widefinder 2 with Clojure - icey
http://meshy.org/2009/12/13/widefinder-2-with-clojure.html

======
jwr
This is an excellent article, as opposed to many shallow blog posts written
after five minutes of trying a new language.

It also shows, unfortunately, that fast Lisp code isn't always pretty to look
at.

~~~
ato
Thanks. Yeah, fast anything code tends to be not very pretty to look at and
I'm not a very experienced lisper. But fortunately in most real-world programs
the part that is performance critical tends to be very small compared to the
rest of the program.

~~~
jwr
Oh, I didn't mean it as a criticism -- I'm afraid it has to be that way. My
Common Lisp code that has been optimized looks similar (sprinkled with type
declarations in various places).

------
swannodette
Faster than C, Java, and Scala. Not bad for a Lisp, eh? ;)

~~~
thomas11
Faster than "the single-threaded C version." I found this a bit shocking - on
a 32-core machine, this is an achievement? Obviously it's not Clojure's fault
as Scala and Java are in the same range, but it was a surprise.

~~~
ato
It's not really an 32-core machine. It's an 8 core UltraSPARC T1, each core
supporting 4 hardware threads. Also this is the sort of problem that C
absolutely kills at. C can just mmap the file and run straight across raw the
bytes and take advantage of all kinds of cache tricks. For well-written C code
the problem is basically IO bound and I was surprised I could catch up to it
at all with the JVM.

~~~
va_coder
8 core, with each core having 4 threads, will soon be the norm. Forward
thinking: Imagine that in a phone!

