David McClain wrote:
Hi,
While not a production use of Termite, my recent reading of the sources led me to write our Butterfly system in Common Lisp. My initial attempts at using Termite let to this, as its performance seemed sporadic (more often failing than succeeding -- can't be sure why). But it became increasingly clear that in order to track down the difficulty, I would have to delve deeper into the threading mechanism of Gambit. I'd love to do that someday, but not now.
It would probably be helpful if you could tell more about the kind of failures you have seen. The currently released version has a problem with generation of uuid's making you run out of memory (they've been interned symbols and Gambit doesn't GC those). Guillaume told me that he fixed that for the next release.
Other possible problems coming to mind are:
- FFI calls blocking other threads - the Gambit keyword argument GC bug which has been mentioned on the list a few times
BTW I've attached a patch to Termite to make it run on the current Gambit release; note that (to be sure it's compiled in safe mode and for not having to modify Gambit itself) I'm compiling it like this:
* unpack Termite somewhere else, not inside Gambit tree * cd termite; patch -p1 < thepatchfile * cd ..; gsc termite/termite.scm
then run Termite user code with
gsi /path/to/termite/termite path/to/usercode -
Christian.