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
|