[elephant-devel] Elephant is working with cffi

Gustavo gugamilare at gmail.com
Wed Aug 11 15:29:38 UTC 2010


Hello, everyone,

I've got elephant working along with cffi. Both cffi and elephant need to be
patched for this to work, the patches for cffi were already made in the cffi
mailing list. The patch was made against elephant-unstable. There were some
incompatible changes in elephant, but I've separated those using
#-elephant-cffi, what makes elephant also work with uffi. The file
elephant.asd detects whether the asdf component :uffi is actually
:cffi-uffi-compat, in which case the key :elephant-cffi is pushed into
*features*, so everything is done automatically.

I compiled elephant with :elephant-without-optimize and tested the tutorial
(with a :bdb 4.7 database). I'll test without the key
:elephant-without-optimize later.

I believe this port helps with elephant optimization. For instance, cffi
mem-ref is already optimized using implementation specific details (using
compiler macros) so I think implementation specific optimizations are not
needed anymore. Otherwise it should be possible to do the optimizations in
cffi itself. Also cffi does not allocate aliens (my sbcl emits
style-warnings complaining about that when using uffi).

Gustavo.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/elephant-devel/attachments/20100811/4a1f7967/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: elephant-cffi.patch
Type: application/octet-stream
Size: 36924 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/elephant-devel/attachments/20100811/4a1f7967/attachment.obj>


More information about the elephant-devel mailing list