[music-dsp] a bit on Serpent

Joshua Scholar joshscholar at yahoo.com
Sat May 31 02:06:00 EDT 2003


I would like to mention that GNU style licenses are NOT friendly to working
programmers.

As such I prefer no license or perhaps one that merely requires you to
mention that you use a tool in any product it gets embedded in.


----- Original Message -----
From: <eli+ at cs.cmu.edu>
To: "music-DSP" <music-dsp at aulos.calarts.edu>
Sent: Friday, May 30, 2003 12:44 AM
Subject: [music-dsp] a bit on Serpent


> Roger Dannenberg asked me to forward this to the list:
> > Ross Bencina mentioned Serpent in response to David Olofson's post
> > about a real-time scripting engine. I've been using Serpent in
> > real-time audio systems for a couple of years now. Serpent is based
> > on Python, but it is not compatible, nor is it a proper
> > subset. Serpent provides two advantages over Python: (1) you can run
> > multiple instances of Serpent in a single address space. This means
> > that you can use the host OS to schedule and preempt threads. In
> > contrast, Python can switch context at best on Python opcode
> > boundaries, so the worst-case latency can be rather high. As Ross
> > suggests, to avoid priority inversion, instances of Serpent use
> > separate memory pools, and I use message passing and lock-free
> > structures to coordinate processes (message passing is not built
> > into Serpent though). (2) Serpent has a real-time garbage
> > collector. Not only is it nice to have a GC, but real-time GC can
> > offer lower latency than reference counting when large structures
> > are freed.
> >
> > Serpent is written in C++ and runs about the same speed as Python. I
> > haven't committed to a license yet, but lean toward a BSD-style
> > license, which I believe is compatible with Gnu-style licenses.
>
> --
>      Eli Brandt  |  eli+ at cs.cmu.edu  |  http://www.cs.cmu.edu/~eli/
>




More information about the music-dsp mailing list