>>>> "Hrvoje" == Hrvoje Niksic
<hniksic(a)srce.hr> writes:
Hrvoje> Andy Piper <andyp(a)parallax.co.uk> writes:
> At 22:05 03/12/98 -0800, Kyle Jones wrote:
> >I have a feeling that if we could get lstreams from between
> >XEmacs and the disk, I/O would be considerably faster. Loading
> >Lisp, loading files, saving files, everything. So I'm glum
> >about coding systems, since that requires the lstreams.
>
> Do they always come between xemacs and the disk? Could we optimise the
> 'binary coding-system to do something sneaky?
Hrvoje> Also, I don't see why lstreams would have to be slow when they do
Hrvoje> nothing smart. For instance, why should a single (unchained) lstream
Hrvoje> be slower than stdio?
The biggest problem with lstreams is possible garbage-collection
overhead. This is why calling Lstream_delete is vital to performance
in many places.
One example: the proper design for databases (not yet implemented) is
for an encoding and decoding lstream to be associated with the
database, not created fresh for every call to get-database or
put-database. If, however, a new lstream is created for each call to
get-databsae, one must be sure to call Lstream_delete in the same
call.
Someone should study java and common lisp streams, and then implement
exposing lstreams to lisp code in a similar fashion.
Martin