Should GC hooks be used to help broken software?

Paul Tarvydas paultarvydas at gmail.com
Sun Jul 5 14:48:58 UTC 2015


On 15-07-04 07:30 AM, Elias Mårtenson wrote:
> The following question was raised during my development of an 
> asynchronous library <https://github.com/lokedhs/cl-rabbit-async> I'm 
> currently building for RabbitMQ.

Aside / rhetorical: Are you trying to achieve a certain level of 
"efficiency"?  If so, read on.

I've been working on flow-based concepts for 25+ years (I use various 
languages, incl. CL, as "assemblers").

The FBP model is kinda-like Actors (or CSP), with the embellishment that 
siblings cannot "see" or know about one another - they must ask their 
common parent to distribute messages.

FBP essentially discards most of the O/S and uses a small handful of 
concepts, e.g. a scheduler, components, ports (queues), ready/wait queues.

A very small "kernel" to handle only this set of concepts - entirely 
eschewing the use of processes - can be easily built.  If you can read 
C, then peruse https://github.com/guitarvydas/collate-fbp-classic for 
the most bare-bones implementation of these concepts I have come up with 
to date (the example is slightly more complicated than necessary, 
because the "Collate" problem (page 91 of Paul Morrison's FBP book) 
requires the use of bounded buffers).  If you don't read C, and are 
interested, ask me.

pt


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/pro/attachments/20150705/3ef0841b/attachment.html>


More information about the pro mailing list