[cffi-devel] Merging the cffi+lotsastuff branch; new dependencies

Luís Oliveira luismbo at gmail.com
Mon Apr 7 12:39:36 UTC 2008


On Mon, Apr 7, 2008 at 5:34 AM, Daniel Herring <dherring at tentpost.com> wrote:
>  In particular, trivial-features bothers me.  Libraries probably shouldn't
>  modify the features set by an implementation.  I would feel much more
> comfortable if all names were prefixed to reduce conflict.
>  e.g. set :tf-darwin and :tf-linux instead of :darwin and :linux

In principle, I agree with you and I considered that option you
suggest. However, I hope that at some point, most of the files in
src/tf-*.lisp become empty as implementations start to agree with each
other.

Can you give me a particular example of a feature pushed by
trivial-features that you don't like?

  #+(and sbcl win32)
  (setq *features* (remove :unix *features*))

This one *I* was quite unconfortable with, but I sent a patch to SBCL
getting rid of :UNIX on windows and it was accepted a few months ago.


>  Other thoughts:
>  Babel is used for external string support, right?  Does it slow down the
> base, untranslated case?  Could it be optional/disabled for those of us who
> don't want translation?

According to my quick tests, it's faster and conses less, even when
using the default external-format (UTF-8) instead of ISO-8859-1 (which
is what CFFI had, in effect).

For small strings (<30 chars) I can see some very small speed overhead
(probably because of the hashtable lookups and one or two extra
function calls). This overhead can be shaved off with a compiler
macro, if necessary.

-- 
Luís Oliveira
http://student.dei.uc.pt/~lmoliv/



More information about the cffi-devel mailing list