nix-super/src/libutil
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
..
tests Rename fmt test -> hilte 2022-04-21 13:00:50 +02:00
abstract-setting-to-json.hh reproducibility: hide non-reproducible settings from manual 2021-12-01 17:25:58 +01:00
ansicolor.hh Change warnings from yellow to magenta 2021-09-14 10:42:29 +02:00
archive.cc libfetchers/path: set lastModified to path's mtime 2022-03-15 12:32:11 +01:00
archive.hh libfetchers/path: set lastModified to path's mtime 2022-03-15 12:32:11 +01:00
args.cc Merge pull request #6128 from ncfavier/fix-completion 2022-04-19 13:45:33 +02:00
args.hh Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
callback.hh Move Callback into its own header 2020-09-21 18:42:21 +02:00
closure.hh Extract a generic computeClosure function 2021-05-19 11:44:58 +02:00
comparator.hh Recursively substitute the realisations 2021-05-26 18:44:17 +02:00
compression.cc Get rid of std::shared_ptr<std::string> and ref<std::string> 2022-01-18 11:12:30 +01:00
compression.hh Get rid of std::shared_ptr<std::string> and ref<std::string> 2022-01-18 11:12:30 +01:00
compute-levels.cc Add x86_64 compute levels as additional system types 2021-02-22 09:11:15 +01:00
compute-levels.hh Add x86_64 compute levels as additional system types 2021-02-22 09:11:15 +01:00
config.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
config.hh reproducibility: hide non-reproducible settings from manual 2021-12-01 17:25:58 +01:00
error.cc Remove unused Error.name field 2022-04-08 11:31:51 +02:00
error.hh don't use Symbol in Pos to represent a path 2022-04-21 21:46:10 +02:00
experimental-features.cc Add custom to_json and from_json functions for ExperimentalFeature 2022-04-20 15:41:01 +02:00
experimental-features.hh Add custom to_json and from_json functions for ExperimentalFeature 2022-04-20 15:41:01 +02:00
finally.hh make Finally more local 2022-03-09 00:16:50 +01:00
fmt.hh Move hiliteMatches into a separate header 2022-04-21 12:06:29 +02:00
hash.cc don't assume that rev is a SHA1 hash 2022-04-07 19:49:47 +02:00
hash.hh don't assume that rev is a SHA1 hash 2022-04-07 19:49:47 +02:00
hilite.cc Move hiliteMatches into a separate header 2022-04-21 12:06:29 +02:00
hilite.hh Move hiliteMatches into a separate header 2022-04-21 12:06:29 +02:00
json.cc avoid ostream sentries per json string character 2022-01-07 06:53:47 +01:00
json.hh Make std::uncaught_exception warning less noisy 2019-10-09 23:04:11 +02:00
local.mk Don't overwrite user provided lib*_LDFLAGS 2021-08-25 08:59:19 -07:00
logging.cc libstore/derivation-goal: avoid double-parsing of JSON messages 2022-02-28 17:27:52 +01:00
logging.hh logging.hh: json.hpp -> json_fwd.hpp 2022-02-28 17:27:52 +01:00
lru-cache.hh Missing #include <cassert> in lru-cache.hh (#3654) 2020-06-03 10:15:22 +00:00
monitor-fd.hh monitor-fds: Fix on macOS. 2018-02-14 18:26:37 -05:00
pool.hh RemoteStore: Close connection if an exception occurs 2018-10-16 23:36:15 +02:00
ref.hh fix build with gcc11 2021-10-13 18:03:33 +00:00
serialise.cc Remove unused Error.name field 2022-04-08 11:31:51 +02:00
serialise.hh Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
split.hh Typo 2020-09-17 20:21:04 +02:00
suggestions.cc Implement operator<< for Suggestions 2022-03-07 10:09:10 +01:00
suggestions.hh Merge or-suggestions.hh into suggestions.hh 2022-03-07 17:49:02 +01:00
sync.hh sync.hh: return cv_status instead of dropping it, in case useful. 2018-06-18 17:31:00 -05:00
tarfile.cc Revert "TarArchive: Small refactoring" 2022-03-24 22:30:46 +01:00
tarfile.hh Revert "TarArchive: Small refactoring" 2022-03-24 22:30:46 +01:00
thread-pool.cc Remove CPU locking 2021-12-22 15:56:25 +01:00
thread-pool.hh Fix extra ; warnings involving MakeError 2019-11-10 11:24:47 -05:00
topo-sort.hh Add missing #pragma once 2020-10-06 10:40:07 +02:00
types.hh store Symbols in a table as well, like positions 2022-04-21 21:56:31 +02:00
url-parts.hh Allow empty path segments in urls 2022-04-08 16:09:49 +02:00
url.cc Prefer to throw specific errors 2021-07-01 11:09:31 -07:00
url.hh Don't include <regex> in header files 2020-09-21 18:22:45 +02:00
util.cc Merge remote-tracking branch 'upstream/master' into fix-url-format 2022-04-20 16:53:16 +00:00
util.hh Perform tilde expansion when completing flake fragments 2022-03-07 12:01:54 +01:00
xml-writer.cc xml-writer: Remove std aliases 2022-02-25 16:13:02 +01:00
xml-writer.hh xml-writer: Remove std aliases 2022-02-25 16:13:02 +01:00