Multy-core CPUs

Peter William Lount peter at smalltalk.org
Thu Oct 25 00:18:47 UTC 2007


Jason Johnson wrote:
> On 10/24/07, Jason Johnson <jason.johnson.081 at gmail.com> wrote:
>   
>> No, the plan was that since in Smalltalk objects are mutable, I will
>> have to pay an extra cost for internal message sends and have the VM
>> do a deep copy for the sent objects.
>>     
>
> Ack, terminology overload. :)  What I meant here is, obviously if I
> sent a message between two literal images there is no choice but to do
> a deep copy.  Erlang gains some benefit from sending interprocess
> messages where the sender and receiver are in the same literal image
> via reference, but I can't because Smalltalk can mutate variables.  So
> this means I have to do the deep copy in *every* case.  Unless I make
> some changes.
>
>
>   
Hi,

No, you'd not have to deep copy every time you send the messages. You 
can send references and when accessing them in the remote image (or 
image B if you prefer) you can ask the local image (or image A if you 
prefer) to send the missing data. Now this assumes that the objects in 
image A didn't change in the meantime. Yikes. Problems are getting 
worse. You can't avoid them. There is no silver bullet with this attempt 
at simplifying concurrency. It's a harsh reality.

Cheers,

Peter

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20071024/b77bcae3/attachment.htm


More information about the Squeak-dev mailing list