emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#55676: closed ([PATCH] non-recursive Lisp reader)


From: GNU bug Tracking System
Subject: bug#55676: closed ([PATCH] non-recursive Lisp reader)
Date: Mon, 30 May 2022 15:23:01 +0000

Your message dated Mon, 30 May 2022 17:21:53 +0200
with message-id <8E9C66D5-7F7D-4009-A359-2B9F3F694F14@acm.org>
and subject line Re: bug#55676: [PATCH] non-recursive Lisp reader
has caused the debbugs.gnu.org bug report #55676,
regarding [PATCH] non-recursive Lisp reader
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
55676: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55676
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: [PATCH] non-recursive Lisp reader Date: Fri, 27 May 2022 15:33:35 +0200
You probably saw this one coming. It's a restructuring of the Lisp reader so 
that it no longer uses recursion for reading nested data structures.

The primary motivation is eliminating the limitation of the C stack (and 
potential overflow crash). As a happy side-effect, the change improves reader 
performance by a few percent, exact amount depending on what is being read. 
This translates into a small but measurable speed-up in loading packages (.el 
and .elc), and in byte-compilation. The performance increase is both from 
removal of recursion and closer attention to performance.

Care has been taken to not change the reader behaviour, although some error 
handling may differ in unimportant ways. Some obvious bugs found during the 
conversion have been fixed: for example, #_ followed by whitespace now 
represents the interned empty symbol; previously, it gave an unintended empty 
symbol. A non-breaking space after a single dot now results in the dot token 
instead of the dot as a symbol.

Attachment: lread-nonrec.diff
Description: Binary data


--- End Message ---
--- Begin Message --- Subject: Re: bug#55676: [PATCH] non-recursive Lisp reader Date: Mon, 30 May 2022 17:21:53 +0200
With objections apparently resolved, the change has been pushed to master, 
including extra regression tests for the minor bugs mentioned earlier.

Thank you for reading the patch!



--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]