A new version is available on Mantis:
http://bugs.squeak.org/view.php?id=7345- added an image boot sequence. Now its cleverly picks an appropriate
scheduler depending on VM.
- a process termination is rewritten,
- added a TerminateProcess exception , which could be used to perform
additional actions during process termination
[ .... ] on: TerminateProcess do: [:ex | .... ]
- a process which is being terminated runs as active process. This is
to ensure, that any #ensure: / #on:do: / #ifCurtailed: blocks will run
in same environment as during normal execution.
Please evaluate :)
2009/5/1 Igor Stasenko <
[hidden email]>:
> 2009/5/1 Andreas Raab <
[hidden email]>:
>> Igor Stasenko wrote:
>>>
>>> I have built a new VM with closure support (VMMaker.dtl.120).
>>> A changeset can be loaded to VMMaker w/o changes, except changing the
>>> Interpreter class redefinition.
>>> All is needed is to add 3 class vars to Interpreter manually:
>>> ProcessActionIndex InterruptedProcessIndex InterruptProcessIndex
>>
>> Hm ... I compiled a VM with your changes but I can't recreate your results.
>> My results are more in the range of 15:1 to 20:1 in a before-after
>> comparison. Are you using the code from
>>
http://bugs.squeak.org/view.php?id=7345 or something more elaborate by now?
>>
> Well, i made some shortcuts, like removing fallback handler and it
> improved a bit.
> I checked everything thoughoutly, and since performance degrades
> linearly with each introduced message send,
> i don't think its because of bogus code.
> The overhead is because we using interpreter to switch processes:
> -removing process from a list
> - adding process to a list
> etc etc.
>
> Of course, i could make an additional prims to speed things up for a
> little, like doing
> LinkedList>>removeFirst:
> LinkedList>>addLast:
> primitively.
> But i wouldn't care about it now. I want to explore the real benefits
> of having scheduling logic at language side - like reimplementing
> Delays, adding nicer process termination procedure (see my other
> thread) etc.
>
>> Cheers,
>> - Andreas
>>
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>
--
Best regards,
Igor Stasenko AKA sig.