emacs-devel
[Top][All Lists]
Advanced

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

Re: pure-fns in byte-opt.el


From: Eli Zaretskii
Subject: Re: pure-fns in byte-opt.el
Date: Sat, 29 Jul 2017 20:22:40 +0300

> From: Mark Oteiza <address@hidden>
> Date: Sat, 29 Jul 2017 12:43:51 -0400
> Cc: address@hidden
> 
> Stefan Monnier <address@hidden> writes:
> 
> >> (let ((pure-fns
> >> -       '(concat symbol-name regexp-opt regexp-quote string-to-syntax)))
> >> +       '(concat symbol-name regexp-opt regexp-quote string-to-syntax
> >> +         make-vector)))
> >
> > Ah, now that makes a lot more sense: make-vector is much less pure than
> > string-to-char.  The above will cause the compiler to replace
> >
> >    (make-vector 2 ?a)
> >
> > with
> >
> >    [?a ?a]
> >
> > so you end with a single immediate vector being re-used over and over,
> > instead of having a new vector created each time.
> 
> But reading a literal vector still generates a new vector, no?

Why do you assume it will be read?



reply via email to

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