Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Of course it is faster than Java in some specific micro benchmark. That's what micro benchmarks are for!

Now try building something really big on SBCL that takes advantage of that quad core box. Huh. What do you mean half the Common Lisp libraries are not thread safe? :-)



Threads are not the only mechanism for parallelizing your code. You could just start 4 processes (which I actually recommended against here yesterday ;), or you can use something like STM. SBCL has an STM library:

http://common-lisp.net/project/cl-stm/


The only reason for recommending spawning processes is if you live in a non-threaded environment like Python, Ruby, Perl or Common Lisp. In a C/C++/Java world it is the normal thing to do and it generally makes communication between those threaded tasks 10x simpler.

Don't get me wrong, I love languages like Python or Ruby and I hack stuff with it daily. I would just never do high performance stuff with them.

It's my observation that the 'threads are evil' mantra only seems to be sung by people who have never really experienced working with a really thread safe environment. It's like being stuck in the early Linux/BSD days.

We live in the multi-core era. Today 8 cores are not unusual, many-more-cores are coming. I seriously think that we're going to see some fallout with regards to programming environments that can't keep up.


I seriously think that we're going to see some fallout with regards to programming environments that can't keep up.

Probably not. People are creatures of habit and will continue doing whatever they were doing before. That doesn't mean we need to care though.

But anyway, threads aren't the solution. They are way too low-level and too easy to screw up. That's why I recommended STM previously.


This site (linked to from the OP) let's you play a game to find the best benchmark:

http://shootout.alioth.debian.org/gp4/benchmark.php?test=all...

(I'm sure that many of you clicked that link, but did you see how you can get each benchmark program in each language? That is a very cool resource.)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: