[cffi-devel] must cffi-sys::with-pointer-to-vector-data go?

David Lichteblau david at lichteblau.com
Fri Jan 27 17:49:13 UTC 2006


Quoting Hoehle, Joerg-Cyril (Joerg-Cyril.Hoehle at t-systems.com):
> I'm still convinced that the benefit is too low to add that,
> commercial or not.  It's presumably hairy to add as an afterthought.
> There are many many thing that would provide more value to Lispers.

(I'm not going to continue commenting on the sharable vector API in
particular; I think we've both explained our preferences.)

> BTW, I don't know whether it's appropriate to worry too much about
> efficiency in cl+ssl now.  It uses Flexi-streams, of which Edi Weitz
> says "FLEXI-STREAMS is currently not optimized towards performance".
> It uses GRAY streams, which is the first thing I'd look to avoid in a
> quest for hopefully fast i/o.  An interface built upon READ-CHAR
> cannot be fast.  You need block operations.
> Simple streams and the like can get at it, not GRAY.
> This is a sad situation of I/O in Lisp, indeed.

That is certainly true.  When I tried the sharable vector API my goal
was not speed, but to use the "right" abstraction than leads to short
and "reasonably" fast code.  I may be biased towards what SBCL offers in
that regard.

As far as CLISP is concerned, I tried CL+SSL there (with a copying
implementation of with-pointer-to-vector-data) and had severe
performance problems.  But I don't think that those problems where
related to the issues being discussed here at all.

So if you happen to know why CL+SSL is so remarkably slow on CLISP (or
have ideas how to profile it), it would be nice if you could ping
cl-plus-ssl-devel about it.


Thanks,
David



More information about the cffi-devel mailing list