[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