doomemacs/lisp/cli
Henrik Lissner c5188c4388
perf: cache module flags in symbol plists
For small amounts of data, symbol plists are the most efficient (space
and time wise) as data access gets in Emacs. Hash tables, though O(1),
impose a minimum threshold of overhead before it becomes the efficient
option, but this benefit won't be obvious for datasets of at least 60 or
less.

Since modulep! is used *a lot*, and used to determine a module's
state (and state of its flags), there is a benefit to caching it.
Still, this is only a read-only cache, and does not replace the
`doom-modules` hash-table, which will always be the preferred interface
for the rest of the module API.
2022-09-16 01:14:22 +02:00
..
make refactor!: restructure Doom core 2022-07-30 22:41:13 +02:00
autoloads.el perf: cache module flags in symbol plists 2022-09-16 01:14:22 +02:00
ci.el nit: revise comments, reformat config sections 2022-09-16 01:14:21 +02:00
compile.el refactor: deprecate doom-private-dir for doom-user-dir 2022-08-14 20:43:35 +02:00
doctor.el refactor: rethink doom-module-*-path functions 2022-09-16 01:14:21 +02:00
env.el refactor(lib): tidy doom-log output 2022-09-12 16:01:43 +02:00
help.el refactor!(cli): rename cli definers for consistency 2022-09-12 11:45:59 +02:00
info.el refactor!: restructure Doom core 2022-07-30 22:41:13 +02:00
install.el refactor: deprecate doom-private-dir for doom-user-dir 2022-08-14 20:43:35 +02:00
make.el refactor!(cli): rename cli definers for consistency 2022-09-12 11:45:59 +02:00
packages.el refactor(cli,lib): print levels & output redirection 2022-09-16 01:14:20 +02:00
run.el refactor!: restructure Doom core 2022-07-30 22:41:13 +02:00
sync.el refactor!(cli): rename cli definers for consistency 2022-09-12 11:45:59 +02:00
test.el refactor!(cli): rename cli definers for consistency 2022-09-12 11:45:59 +02:00
upgrade.el fix(cli): more future resistant 'doom upgrade' 2022-07-31 00:58:36 +02:00