lix/src/nix
pennae 8775be3393 store Symbols in a table as well, like positions
this slightly increases the amount of memory used for any given symbol, but this
increase is more than made up for if the symbol is referenced more than once in
the EvalState that holds it. on average every symbol should be referenced at
least twice (once to introduce a binding, once to use it), so we expect no
increase in memory on average.

symbol tables are limited to 2³² entries like position tables, and similar
arguments apply to why overflow is not likely: 2³² symbols would require as many
string instances (at 24 bytes each) and map entries (at 24 bytes or more each,
assuming that the map holds on average at most one item per bucket as the docs
say). a full symbol table would require at least 192GB of memory just for
symbols, which is well out of reach. (an ofborg eval of nixpks today creates
less than a million symbols!)
2022-04-21 21:56:31 +02:00
..
realisation fix spelling mistakes reported by Debian's lintian tool 2022-01-30 10:51:39 +02:00
add-file.md Split 'nix store add-to-store' into 'add-path' and 'add-file' 2020-12-04 00:59:24 +01:00
add-path.md Split 'nix store add-to-store' into 'add-path' and 'add-file' 2020-12-04 00:59:24 +01:00
add-to-store.cc Get rid of std::shared_ptr<std::string> and ref<std::string> 2022-01-18 11:12:30 +01:00
app.cc store Symbols in a table as well, like positions 2022-04-21 21:56:31 +02:00
build.cc Fix nix build --dry-run with CA derivations 2022-03-17 11:55:19 +01:00
build.md Fix some typos 2021-03-26 16:14:38 +01:00
bundle.cc replace most Pos objects/ptrs with indexes into a position table 2022-04-21 21:46:06 +02:00
bundle.md Update docs 2022-02-22 14:32:56 +01:00
cat.cc Get rid of std::shared_ptr<std::string> and ref<std::string> 2022-01-18 11:12:30 +01:00
copy.cc Add command 'nix store copy-log' 2022-01-18 14:08:49 +01:00
copy.md Add 'nix copy' manpage 2020-12-21 13:32:27 +01:00
daemon.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
daemon.md Add 'nix daemon' command 2021-01-14 00:05:04 +01:00
describe-stores.cc Remove static variable name clashes 2020-10-06 13:49:20 +02:00
develop.cc Simplify the handling of the hash modulo 2022-03-29 18:17:35 +02:00
develop.md Update docs 2022-02-22 14:32:56 +01:00
diff-closures.cc Move installables-related operations 2022-03-02 19:19:51 +01:00
diff-closures.md Add 'nix store diff-closures' manpage 2020-12-21 13:32:29 +01:00
doctor.cc doctor: Always show the output 2022-04-05 14:04:01 +02:00
dump-path.cc Add 'nix store' NAR-related manpages 2020-12-21 13:32:28 +01:00
edit.cc replace most Pos objects/ptrs with indexes into a position table 2022-04-21 21:46:06 +02:00
edit.md nix edit: support kakoune 2022-03-22 23:18:02 +09:00
eval.cc store Symbols in a table as well, like positions 2022-04-21 21:56:31 +02:00
eval.md Add 'nix eval' manpage 2020-12-21 13:32:28 +01:00
flake-archive.md Add 'nix flake' manpages 2020-12-23 18:26:40 +01:00
flake-check.md nix flake check: Fix markdown 2021-11-24 13:53:09 +01:00
flake-clone.md Add 'nix flake' manpages 2020-12-23 18:26:40 +01:00
flake-init.md Update docs 2022-02-22 14:32:56 +01:00
flake-lock.md nix flake update: Recreate the lock file 2021-02-26 14:55:54 +01:00
flake-metadata.md Merge 'nix flake {info,list-inputs}' into 'nix flake metadata' 2021-03-16 17:19:04 +01:00
flake-new.md Add 'nix flake' manpages 2020-12-23 18:26:40 +01:00
flake-prefetch.md nix store prefetch-tarball -> nix flake prefetch 2021-01-11 12:36:39 +01:00
flake-show.md Update docs 2022-02-22 14:32:56 +01:00
flake-update.md nix flake update: Recreate the lock file 2021-02-26 14:55:54 +01:00
flake.cc store Symbols in a table as well, like positions 2022-04-21 21:56:31 +02:00
flake.md Add .tgz as tarball extension in documentation 2022-04-18 17:14:15 +02:00
fmt.cc nix-fmt: add command 2022-03-11 10:00:19 -05:00
fmt.md nix-fmt: add command 2022-03-11 10:00:19 -05:00
get-env.sh Merge branch 'master' into structured-attrs-shell 2021-07-12 15:49:39 +02:00
hash.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
help.md Add 'nix help' manpage 2020-12-21 13:32:29 +01:00
key-convert-secret-to-public.md Add commands for generating secret/public keys 2021-01-06 17:49:31 +01:00
key-generate-secret.md Rename 'nix store sign-paths' to 'nix store sign' 2021-01-13 23:32:37 +01:00
local.mk nix --help: Display help using lowdown instead of man 2021-09-13 14:45:21 +02:00
log.cc Factor out a LogStore interface 2022-03-11 13:32:16 +00:00
log.md Tweak 2020-12-21 13:32:28 +01:00
ls.cc Get rid of std::shared_ptr<std::string> and ref<std::string> 2022-01-18 11:12:30 +01:00
main.cc store Symbols in a table as well, like positions 2022-04-21 21:56:31 +02:00
make-content-addressed.cc nix store make-content-addressed: Support --from / --to 2022-03-24 21:33:33 +01:00
make-content-addressed.md Rename 'nix store make-content-addressable' to 'nix store make-content-addressed' 2022-03-24 21:33:33 +01:00
nar-cat.md Add 'nix nar' manpages 2020-12-21 13:32:28 +01:00
nar-dump-path.md Add 'nix nar' manpages 2020-12-21 13:32:28 +01:00
nar-ls.md Add 'nix nar' manpages 2020-12-21 13:32:28 +01:00
nar.cc Make '--help' do the same as 'help' (i.e. show a manpage) 2021-01-25 14:38:15 +01:00
nar.md Add 'nix nar' manpages 2020-12-21 13:32:28 +01:00
nix.md Update docs 2022-02-22 14:32:56 +01:00
optimise-store.cc Add 'nix store optimise' manpage 2020-12-21 13:32:28 +01:00
optimise-store.md Add 'nix store optimise' manpage 2020-12-21 13:32:28 +01:00
path-info.cc path-info: use full store paths when we have them 2022-02-19 00:32:05 +01:00
path-info.md Fix markdown error 2021-09-13 14:44:53 +02:00
ping-store.cc nix store ping: Report Nix daemon version 2022-01-25 21:15:58 +01:00
ping-store.md Tweak 2021-01-17 19:49:28 +01:00
prefetch.cc remove Bindings::need 2022-04-21 21:25:18 +02:00
print-dev-env.md nix print-dev-env: Add --json flag 2021-07-09 12:10:48 +02:00
profile-diff-closures.md Add 'nix profile' manpage 2020-12-21 13:32:29 +01:00
profile-history.md nix profile history: Show profile date 2021-09-14 20:47:33 +02:00
profile-install.md Add 'nix profile' manpage 2020-12-21 13:32:29 +01:00
profile-list.md Update docs 2022-02-22 14:32:56 +01:00
profile-remove.md man: fix formatting of nix3-profile-remove 2021-06-28 16:27:03 +02:00
profile-rollback.md Generations -> profile versions 2021-09-14 19:57:45 +02:00
profile-upgrade.md fix doc: nix profile info -> nix profile list 2021-05-24 12:36:08 +02:00
profile-wipe-history.md Add 'nix profile wipe-history' command 2021-09-14 20:35:41 +02:00
profile.cc profile!: consistent use of url/uri. create new version 2022-03-30 16:35:26 -04:00
profile.md Fix flake profile use of originalUrl vs. originalUri 2022-03-24 12:28:38 +01:00
realisation.cc Make experimental-features a proper type 2021-10-26 07:02:31 +02:00
registry-add.md nix registry: add --registry flag 2021-06-30 22:13:32 +03:00
registry-list.md Add 'nix registry' manpages 2020-12-21 13:32:27 +01:00
registry-pin.md Style tweaks 2021-07-07 10:02:55 +02:00
registry-remove.md nix registry: add --registry flag 2021-06-30 22:13:32 +03:00
registry.cc nix registry: Mark experimental 2021-11-12 03:18:31 -05:00
registry.md Fix typo 2021-11-27 23:29:48 +03:00
repl.cc store Symbols in a table as well, like positions 2022-04-21 21:56:31 +02:00
repl.md nix repl: add :log 2021-12-06 16:52:50 +03:00
run.cc fix(run): set applyNixConfig lockFlag 2022-04-01 23:41:34 -04:00
run.hh nix develop: Support chroot stores 2021-07-27 14:24:03 +02:00
run.md Update docs 2022-02-22 14:32:56 +01:00
search.cc store Symbols in a table as well, like positions 2022-04-21 21:56:31 +02:00
search.md Add 'nix search' manpage 2020-12-21 13:32:27 +01:00
shell.md Fix typo in src/nix/shell.md 2021-12-15 23:40:37 -08:00
show-config.cc Forward the whole Nix config to the post-build-hook 2021-07-15 18:41:56 +02:00
show-derivation.cc Add support for impure derivations 2022-03-31 13:43:20 +02:00
show-derivation.md Add 'nix show-derivation' manpage 2020-12-21 13:32:29 +01:00
sigs.cc nix key: Fix error message and don't require flakes 2021-11-11 21:31:26 -05:00
store-cat.md Add 'nix store' NAR-related manpages 2020-12-21 13:32:28 +01:00
store-copy-log.cc Deduplicate the Store downcasting with a template 2022-03-11 13:32:33 +00:00
store-copy-log.md Add examples 2022-01-18 17:37:04 +01:00
store-delete.cc Deduplicate the Store downcasting with a template 2022-03-11 13:32:33 +00:00
store-delete.md Add 'nix store delete' command 2021-01-11 19:46:59 +01:00
store-dump-path.md Add 'nix store' NAR-related manpages 2020-12-21 13:32:28 +01:00
store-gc.cc Deduplicate the Store downcasting with a template 2022-03-11 13:32:33 +00:00
store-gc.md Add 'nix store gc' command 2021-01-10 23:29:14 +01:00
store-ls.md Add 'nix store' NAR-related manpages 2020-12-21 13:32:28 +01:00
store-prefetch-file.md Fix some typos 2021-03-26 16:14:38 +01:00
store-repair.cc run(): Move 2021-09-27 11:12:06 +02:00
store-repair.md Add 'nix store repair' command 2021-01-13 23:27:39 +01:00
store.cc Make '--help' do the same as 'help' (i.e. show a manpage) 2021-01-25 14:38:15 +01:00
upgrade-nix.cc Get rid of std::shared_ptr<std::string> and ref<std::string> 2022-01-18 11:12:30 +01:00
upgrade-nix.md Add 'nix upgrade-nix' manpage 2020-12-21 13:32:28 +01:00
verify.cc run(): Move 2021-09-27 11:12:06 +02:00
verify.md Add 'nix store verify' manpage 2020-12-21 13:32:28 +01:00
why-depends.cc Move installables-related operations 2022-03-02 19:19:51 +01:00
why-depends.md Add 'nix why-depends' manpage 2020-12-21 13:32:28 +01:00