emacs-devel
[Top][All Lists]
Advanced

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

Re: 28.0.50; Proposal: slightly more efficient package-quickstart.el


From: Arthur Miller
Subject: Re: 28.0.50; Proposal: slightly more efficient package-quickstart.el
Date: Sat, 24 Jul 2021 00:26:14 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Stefan Monnier <monnier@iro.umontreal.ca> writes:

I just did some tests. I wrote small program and installed all pacakges
from elpa. I got ~700 packages installed alltogether (not all are from
elpa). 

I did following tests: I generated file with original quickstart
generator and patched one. I also removed half of the packages and
generated quickstart file with original generator from package.el

Previous to that of course, I have removed my init file, early init,
byte compiled versions etc, and also found out that I had to build emacs
version without native compiler. Nothing was required, Emacs started
with blank init file, so to only measure difference in generated
quickstart file.

What I found is that to happy you :), it was not much difference between
modified and original generator. I got pretty much same timings for
both, ~0.47 sec. There is an important thing: if I nconed load-path to
generated path, than startup time was significantly higher, it went to
~0.75 sec. When I switched to nconc load-path to generated one (the one
that was unsafe) than timing went back to ~0.47. I did 3 mesurements,
and I am not sure if iterating throuhg ~700 strings should take that
much time, but that happened.

Finally original routine, ~700 packages vs 350 packages. Timings where
~0.47 vs ~0.3 (slightly below each time). So obvoisly it is noticable in
startup time, even when adding ~300 more packages without doing any 
customizations in init file.

Interesting, when I "bake in" quickstart file into my init file, startup
time is ~0.35 sec and that with all my customizations. Maybe disk acces,
but since files are in same dir, I expect them both to be fetched in by
the driver. I have no other explanation more than so.




For the failures, if that is of interest to authors or maintainers:

Failed to verify signature realgud-ipdb-1.0.0.tar.sig:
Bad signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) 
<elpasign@elpa.gnu.org>
Command output:
gpg: Signatur gjord lör 21 sep 2019 19:54:19 CEST
gpg:              med RSA-nyckeln C433554766D3DDC64221BFAA066DAFCB81E42C40
gpg: FELAKTIG signatur från "GNU ELPA Signing Agent (2019) 
<elpasign@elpa.gnu.org>" [okänd]

Failed to verify signature scanner-0.2.tar.sig:
Bad signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) 
<elpasign@elpa.gnu.org>
Command output:
gpg: Signatur gjord tis 15 dec 2020 11:05:02 CET
gpg:              med RSA-nyckeln C433554766D3DDC64221BFAA066DAFCB81E42C40
gpg: FELAKTIG signatur från "GNU ELPA Signing Agent (2019) 
<elpasign@elpa.gnu.org>" [okänd]

Even some Ada + 1 more package, but it was before I saved the output.

;; refine-autoloads.el ends here

rec-mode - must comment away line below in autoload.el otherwise
generation of package-quickstart.el fails:

(put rec-open-mode 'safe-local-variable (lambda (x) (member x '(edit 
navigation))

Compiling file /home/arthur/.emacs.d/elpa/dired-du-0.5.2/dired-du-tests.el at 
Fri Jul 23 21:39:36 2021
dired-du-tests.el:61:27: Error: ‘add-to-list’ can’t use lexical var ‘buffers’;
    use ‘push’ or ‘cl-pushnew’
dired-du-tests.el:65:54: Error: ‘add-to-list’ can’t use lexical var ‘buffers’;
    use ‘push’ or ‘cl-pushnew’
dired-du-tests.el:103:11: Warning: Unused lexical variable `info'
dired-du-tests.el:110:32: Error: ‘add-to-list’ can’t use lexical var
    ‘buffers’; use ‘push’ or ‘cl-pushnew’
dired-du-tests.el:165:27: Warning: Unused lexical variable `name2'
dired-du-tests.el:155:27: Warning: Unused lexical variable `name3'
dired-du-tests.el:157:32: Error: ‘add-to-list’ can’t use lexical var
    ‘buffers’; use ‘push’ or ‘cl-pushnew’
dired-du-tests.el:194:11: Warning: Unused lexical variable `name2'
dired-du-tests.el:178:23: Warning: Unused lexical variable `name3'
dired-du-tests.el:178:23: Warning: Unused lexical variable `marks'
dired-du-tests.el:183:34: Error: ‘add-to-list’ can’t use lexical var
    ‘buffers’; use ‘push’ or ‘cl-pushnew’
dired-du-tests.el:230:11: Warning: Unused lexical variable `name2'
dired-du-tests.el:212:27: Warning: Unused lexical variable `name3'
dired-du-tests.el:213:27: Warning: Unused lexical variable `marks'
dired-du-tests.el:215:34: Error: ‘add-to-list’ can’t use lexical var
    ‘buffers’; use ‘push’ or ‘cl-pushnew’
dired-du-tests.el:275:11: Warning: Unused lexical variable
    `filled-subdir-size'
dired-du-tests.el:251:27: Error: ‘add-to-list’ can’t use lexical var
    ‘buffers’; use ‘push’ or ‘cl-pushnew’

Compiling file /home/arthur/.emacs.d/elpa/notes-mode-1.30/notes-index-mode.el 
at Fri Jul 23 21:42:23 2021
notes-index-mode.el:26:1: Error: Symbol’s value as variable is void: Use



Entering directory ‘/home/arthur/.emacs.d/elpa/parsec-0.1.3/examples/’
full-csv-parser-tests.el:28:1: Error: Cannot open load file: Filen eller
katalogen finns inte, full-csv-parser


Compiling file 
/home/arthur/.emacs.d/elpa/phps-mode-0.4.3/admin/phps-mode-automation.el at Fri 
Jul 23 21:47:38 2021
phps-mode-automation.el:30:1: Error: Cannot open load file: Filen eller
katalogen finns inte, phps-mode-automation-grammar



Compiling file /home/arthur/.emacs.d/elpa/psgml-1.3.4/sgmldecl/fum.el at Fri 
Jul 23 21:47:46 2021
Entering directory ‘/home/arthur/.emacs.d/elpa/psgml-1.3.4/sgmldecl/’

In replace-grammar:
fum.el:52:6: Warning: ‘insert-buffer’ is for interactive use only; use
    ‘insert-buffer-substring’ instead.

In spt-synexp:
fum.el:74:17: Warning: ‘case’ is an obsolete alias (as of 27.1); use ‘cl-case’
    instead.
fum.el:227:1: Error: Symbol’s function definition is void: spt-nt-name
Leaving directory ‘/home/arthur/.emacs.d/elpa/psgml-1.3.4/sgmldecl/’







reply via email to

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