realtime design

Tim Daneliuk tundra at tundraware.com
Mon Oct 14 23:55:25 EDT 2002


Aahz wrote:
> In article <mailman.1034545938.26805.python-list at python.org>,
> Richard Jones  <rjones at ekit-inc.com> wrote:
> 
>>What do you mean by variable timing? If you avoid circular references,
>>CPython (the C version, not the Java version) has deterministic memory
>>handling.
> 
> 
> That's true, but only partly.  Thing is, normally one programs Python
> with the assumption that checking memory sizes and such doesn't really
> matter.  But freeing a large dict, particularly one that contains
> complex objects, can have serious consequences for timing.  Defensively
> programming against that isn't normal Python style, and in the absence
> of such defensive programming, I'd say that Python isn't really
> deterministic.


I agree completely.  Hard realtime requires *guarantees* == determinism.
Moreover, the very nature of most hard realtime systems requires direct
programmatic interaction with the interrupt infrastructure of the target
system.  With enough glue code, one might be able to do this, but it would
be pretty ugly, I suspect.

Also, I feel it is impossible to talk about any kind of "realtime" and only
discuss the language.  Realtime behavior (and the consequent guarantees of
timing and sequencing) is the sum total of the language AND the hardware AND
the operating system (if any).  Absent the right hardware support you cannot
write correct hard realtime systems in *Assembler*!  DAMHIKT ;))

-- 
------------------------------------------------------------------------------
Tim Daneliuk
tundra at tundraware.com




More information about the Python-list mailing list