Subject: Re: [linux-audio-dev] News about sequencers (not my own though!)
From: Benno Senoner (sbenno_AT_gardena.net)
Date: la tammi 22 2000 - 08:41:10 EST
On Fri, 21 Jan 2000, Eli Brandt wrote:
>> I know that Roger Dannenberg likes python and hoped to use it for his
> real-time programming, but found it wouldn't quite do what he wanted.
> The stumbling blocks were the non-real-time GC, and something I didn't
> grasp about the engine not running multithreaded. He says:
>
> > Nothing public yet. Feel free to say I have developed a core
> > implementation of a language based on Python with inspiration from
> > XLisp and Ruby, but with the goal of real-time garbage collection
> > (<1ms GC-related latency) and the ability to run multiple instances of
> > the language in one address space. Instances are totally separate,
> > not even sharing "global" variables, so all IPC, synchronization, and
> > sharing must be accomplished by language extensions, making the
> > language adaptable to different styles of real-time system
> > building. The tentative name is Boa, and I intend to distribute it
> > freely.
>
> If anybody does feel like hacking on python's GC, what he's using is a
> white/gray/black write-barrier scheme.
1ms precision is pretty critical ... , I wouldn't do anything other than
using C code which avoids to call any "non-deterministic" systemcalls.
( disk i/o , etc).
Using an interpreted language scares me because it may be much slower than C
and in order to guarantee real-time behaviour you must assume that the
interpreter doesn't make any of these non-deterministic syscalls in the
interpreting loop. (plus it has to be SCHED_FIFO / SCHED_RR ).
Therefore if you want "hard-realtime" and are paranoid as David Olofson says ,
go with C/C++ , else you have to trust 100% your interpreter, and very often
interpreters aren't designed with realtime in mind.
Benno.
This archive was generated by hypermail 2b28 : pe maalis 10 2000 - 07:23:26 EST