[plt-scheme] Number crunching -> Matthias, Eli

From: Anthony Cowley (acowley at seas.upenn.edu)
Date: Fri Jul 3 20:06:59 EDT 2009

On Fri, Jul 3, 2009 at 7:12 PM, YC<yinso.chen at gmail.com> wrote:
> On Fri, Jul 3, 2009 at 8:15 AM, Anthony Cowley <acowley at gmail.com> wrote:
>> > For example, a runtime that could take advantage of
>> > multicore machines would benefit many more people that optimising
>> > floating point calculations. I love performance as much as the next
>> > guy -- my hard disk is littered with little compilers and so on -- but
>> > it really isn't that important in the grand scheme of things.
>> This is another area where I think many FP advocates tend to be a bit
>> too glib. <snip my own ranting>
> Hmm... are you sure people are claiming concurrency scaling will beat
> sequential speedup?  Maybe really fast FP such as ocaml or clean are making
> these claims, but I have not heard of it here.

The original post was about the speed of numerics, and the response
suggested that taking advantage of multiple cores is more important.
If that was meant as a non sequitur, then consider my message another.

At the risk of dredging up cliches: an oft cited benefit of FP is that
it makes concurrent programming easier for the familiar reasons
(immutable data, referential transparency). One is told that
concurrent programming is important because CPUs are not getting
faster like they used to, and, instead, increased performance must now
be obtained by exploiting the multi-core CPUs users now have.

Both of these are true statements, but they suggest a composition that
is hard to realize in practice (which was my, perhaps buried, point).
That is, looking for speed today means parallel execution, which is
typically more elegantly expressed in a functional language, which is
slower than an imperative language, which leaves the programmer high
and unfortunately dry.

I'm all for a multi-threaded PLT Scheme runtime or whatever the
PLT'ers decide they wish to pursue, but I don't think that implies
that single-threaded performance is somehow a done deal. As one who
does use multiple cores for performance reasons, I rile when others
dismiss my pain :P

I should have opened my message by noting that I am currently writing
a lot of C code that I wish didn't have to be in C, perhaps that would
have set the right tone.


Posted on the users mailing list.