Re: Multitasking Preview Release

new topic     » goto parent     » topic index » view thread      » older message » newer message

I really like the new task API. Robert can do things with it that just
simply be done in a library by building it into the interpreter. But the
ideal of zero cost for programs that don't use it will not be realized
in all cases.

A case in point is my own Method Euphoria. I maitain a great deal of
state information, inlcuding a call stack which tracks the "this"
pointer, the currently running method, and various other things needed
to enforce access rights--ME can only enforce protected or private
access to a method because it tracks what method is callng it.

If I make a task-safe version, I will need to maintain this data on a
per task basis. So the state variables that are now integers become
sequences, and those that are sequences become nested one level deeper.
Every ME operation which acesses this state information will have an
extra level of subscipting for each access (may be reduced somewhat but
not eliminated by the creative use of temporaries). In addition, each
operation will require a call to task_self. This will cause ME programs
to run slower, even if they never use tasking.

This issue will affect any library which maintains state information per
program that would need to shift to maintaining state information per task.

-- Mike Nelson

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu