Concurrent Futures

Andreas Raab andreas.raab at gmx.de
Tue Oct 30 23:00:20 UTC 2007


Igor Stasenko wrote:
> Look. A current multi-core architecture uses shared memory. So the
> logical way how we can utilize such architecture at maximum power is
> to build on top of it.

That's like saying: "Look. A current multi-core architecture uses x86 
instructions. So the logical way to utilize it is to write assembler 
programs". It's neither logical nor true.

> Any other (such as share nothing) introducing too much noise on such
> architectures.

And if that statement were true, then Erlang shouldn't be able to 
benefit from multiple cores. In fact, not even operating systems should 
be able because running processes in their own address spaces is a 
"share nothing" approach.

More importantly, you are missing a major point in the comparison: 
Programmer effectiveness. The biggest cost factor for any software is 
programmer hours. If you can get 80% of the efficiency by investing half 
the resources you have a powerful advantage already. If you put this 
together with added robustness in a modern 24/7 software-as-a-service 
environment, you got a winner. In this sense it may be true that these 
solutions "introduce noise" (I'm not really sure what you mean when 
saying this but whatever) but they make it more than up in the amount of 
time you spend actually solving the problem at hand.

Cheers,
   - Andreas



More information about the Squeak-dev mailing list