doomemacs/lisp
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
..
cli perf: cache module flags in symbol plists 2022-09-16 01:14:22 +02:00
lib refactor: change doom-module-list signature 2022-09-16 01:14:21 +02:00
doom-cli.el refactor(cli,lib): print levels & output redirection 2022-09-16 01:14:20 +02:00
doom-editor.el fix: error caused by typo in doom--recentf-file-truename-fn 2022-09-10 23:46:40 +02:00
doom-keybinds.el nit: revise comments, reformat config sections 2022-09-16 01:14:21 +02:00
doom-lib.el refactor(lib): use uninterned symbols for transient/chained hooks 2022-09-16 01:14:21 +02:00
doom-modules.el perf: cache module flags in symbol plists 2022-09-16 01:14:22 +02:00
doom-packages.el refactor: change doom-module-list signature 2022-09-16 01:14:21 +02:00
doom-projects.el fix: validate fd --version output 2022-09-07 01:48:37 +02:00
doom-start.el nit: revise comments, reformat config sections 2022-09-16 01:14:21 +02:00
doom-ui.el nit: remove unused base-specs arg in doom--make-font-specs 2022-09-10 23:48:56 +02:00
doom.el nit: revise comments, reformat config sections 2022-09-16 01:14:21 +02:00
packages.el bump: :core 2022-09-06 22:55:47 +02:00