GNU bug report logs -
#73431
Add `setf` support for `stream.el` in ELPA
Previous Next
Reported by: Okamsn <okamsn <at> protonmail.com>
Date: Mon, 23 Sep 2024 01:35:01 UTC
Severity: wishlist
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
Message #64 received at submit <at> debbugs.gnu.org (full text, mbox):
Okamsn <okamsn <at> protonmail.com> writes:
> Michael Heerdegen wrote:
>> Okamsn via "Bug reports for GNU Emacs, the Swiss army knife of text
>> editors" <bug-gnu-emacs <at> gnu.org> writes:
>>
>>> Please see the attached file. It changes streams to be structs, warns
>>> that streams are not mutable, adds a creation method for arrays that
>>> doesn't create intermediate sub-arrays, and adds some methods for
>>> streams for more of the seq.el functions.
>>
>> Thank you for working on this.
>>
>>> * stream.el (stream): Define the structure using 'cl-defstruct'.
>>
>> Does changing the internal representation of streams have an effect
>> on the speed of the run code?
>
> I think that it does make it slower. I am trying to test it, and I think
> that making records is slower than making cons cells. I think that
> accessing the rest of the stream takes longer because the accessors
> created by `cl-defstruct` always perform type checking. It seems to take
> about twice as long when compared to naively using `car` and `cdr`.
>
> Do you think that it would be better to disable the type checking in the
> accessors? If so, would you please share how to do that? The manual
> talks about using `(optimize (safety 0))` in a declare form, but it also
> seems to say that it cannot be done locally for just the `cl-defstruct`
> usage. If it cannot be done, do think it makes sense to use
> `make-record` directly, along with custom function to replace the
> generated accessors?
We would have to raise the minimum version from 25 to 26 to support
that. It the overhead noticeable, or just measurable?
--
Philip Kaludercic on siskin
This bug report was last modified 264 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.