lix/src/libstore
eldritch horrors 472ff1b833 libstore: keep Goal errors as unique_ptrs
Error is pretty large, and most goals do not fail. this alone more than
halves the size of Goal on x86_64-linux, from 720 bytes down to 344. in
derived classes the difference is not as dramatic, but even the largest
derived class (`LocalDerivationGoal`) loses almost 20% of its footprint

Change-Id: Ifda8f94c81b6566eeb3e52d55d9796ec40c7bce8
2024-07-22 19:01:40 +00:00
..
build libstore: keep Goal errors as unique_ptrs 2024-07-22 19:01:40 +00:00
builtins libutil: remove makeDecompressionSink 2024-07-11 11:39:18 +00:00
linux chore: rebrand Nix to Lix when it makes sense 2024-06-01 20:31:24 +02:00
platform libstore: make LocalDerivationGoal::needsHashRewrite virtual 2024-07-07 18:06:08 +00:00
binary-cache-store.cc libstore/binary-cache-store: use correct buffer size for NAR decompression 2024-07-21 11:28:23 +02:00
binary-cache-store.hh libstore: rewrite narFromPath as generator 2024-07-15 21:50:25 +00:00
build-result.cc Merge pull request #9094 from obsidiansystems/test-proto 2024-03-04 04:36:23 +01:00
build-result.hh Merge pull request #9094 from obsidiansystems/test-proto 2024-03-04 04:36:23 +01:00
builtins.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
ca-specific-schema.sql ca: add sqlite index on RealisationsRefs(realisationReference) 2022-04-21 10:06:39 +02:00
common-protocol-impl.hh libstore: generatorize protocol serializers 2024-07-16 00:57:42 +00:00
common-protocol.cc libstore: generatorize protocol serializers 2024-07-16 00:57:42 +00:00
common-protocol.hh libstore: remove WriteConn::sink fields 2024-07-16 00:57:42 +00:00
content-address.cc Fix various clang-tidy lints 2024-03-29 20:26:38 -07:00
content-address.hh Fix various clang-tidy lints 2024-03-29 20:26:38 -07:00
crypto.cc util.{hh,cc}: Split out strings.{hh,cc} 2024-05-29 11:01:34 +02:00
crypto.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
daemon.cc enable -Werror=suggest-override 2024-07-22 16:26:55 +00:00
daemon.hh Add Store::isTrustedClient() 2023-04-06 19:59:57 -04:00
derivations.cc libstore: remove WriteConn::sink fields 2024-07-16 00:57:42 +00:00
derivations.hh doc: rewrite the multi-user documentation to actually talk about security 2024-06-12 15:34:23 -07:00
derived-path-map.cc Revert "Adapt scheduler to work with dynamic derivations" 2023-10-02 15:05:23 +00:00
derived-path-map.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
derived-path.cc derived-path: refuse built derived path with a non-derivation base 2024-05-17 02:16:15 +02:00
derived-path.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
downstream-placeholder.cc Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
downstream-placeholder.hh Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
dummy-store.cc libstore: rewrite narFromPath as generator 2024-07-15 21:50:25 +00:00
dummy-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
export-import.cc libstore: remove WriteConn::sink fields 2024-07-16 00:57:42 +00:00
filetransfer.cc filetransfer: return a Source from download() 2024-06-19 10:50:12 +00:00
filetransfer.hh filetransfer: return a Source from download() 2024-06-19 10:50:12 +00:00
fs-accessor.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
gc-store.hh libstore: Create platform LocalStore subclasses 2024-04-23 16:17:05 +00:00
gc.cc gc: refactor the gc server thread out into a class without changing it 2024-07-19 20:55:55 +00:00
globals.cc Add build-dir setting, clean up default TMPDIR handling 2024-06-24 11:30:32 +03:00
globals.hh language: cleanly ban integer overflows 2024-07-13 00:59:33 +02:00
http-binary-cache-store.cc libstore: make BinaryCacheStore::getFile return a source 2024-07-11 11:39:18 +00:00
http-binary-cache-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
indirect-root-store.hh Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
legacy-ssh-store.cc libstore: remove WriteConn::sink fields 2024-07-16 00:57:42 +00:00
legacy-ssh-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
length-prefixed-protocol-helper.hh libstore: generatorize protocol serializers 2024-07-16 00:57:42 +00:00
lix-store.pc.in packaging: rename nixexpr -> lixexpr and so on 2024-05-23 16:45:23 -06:00
local-binary-cache-store.cc libstore: make BinaryCacheStore::getFile return a source 2024-07-11 11:39:18 +00:00
local-binary-cache-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
local-fs-store.cc libstore: rewrite narFromPath as generator 2024-07-15 21:50:25 +00:00
local-fs-store.hh libstore: rewrite narFromPath as generator 2024-07-15 21:50:25 +00:00
local-store.cc gc: refactor the gc server thread out into a class without changing it 2024-07-19 20:55:55 +00:00
local-store.hh gc: refactor the gc server thread out into a class without changing it 2024-07-19 20:55:55 +00:00
local-store.md Tweaks 2023-03-23 15:32:59 +01:00
lock.cc util.{hh,cc}: Split out file-descriptor.{hh,cc} 2024-05-29 09:54:47 +02:00
lock.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
log-store.cc Move the getBuildLog implementation to its own implementation file 2023-01-13 11:05:44 +01:00
log-store.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
machines.cc Remove 100s of CPU time (10%) from build times (1465s -> 1302s) 2024-05-29 22:16:15 -07:00
machines.hh Merge pull request #9841 from obsidiansystems/float-speed-factor 2024-03-04 08:40:38 +01:00
make-content-addressed.cc libstore: rewrite narFromPath as generator 2024-07-15 21:50:25 +00:00
make-content-addressed.hh makeContentAddressed: Add single path helper 2023-06-30 18:22:47 +02:00
meson.build build: expose option to enable or disable precompiled std headers 2024-06-06 12:46:26 -06:00
misc.cc libutil: remove callback.hh 2024-05-10 02:21:11 +02:00
names.cc Use std::strong_ordering for version comparison 2024-07-12 16:48:28 +02:00
names.hh Use std::strong_ordering for version comparison 2024-07-12 16:48:28 +02:00
nar-accessor.cc Add explicit case statements where -Wswitch-enum would report them 2023-04-03 18:17:32 +02:00
nar-accessor.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
nar-info-disk-cache.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
nar-info-disk-cache.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
nar-info.cc Make "NAR info file is corrupt" messages more informative 2023-04-18 14:10:49 +02:00
nar-info.hh Merge remote-tracking branch 'upstream/master' into path-info 2023-04-07 20:39:04 -04:00
optimise-store.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
outputs-spec.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
outputs-spec.hh Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
parsed-derivations.cc Fix exportReferencesGraph when given store subpath 2024-04-21 10:27:32 +00:00
parsed-derivations.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
path-info.cc Merge pull request #6223 from obsidiansystems/worker-proto-with-version 2024-03-04 04:59:31 +01:00
path-info.hh Merge pull request #9238 from tfc/small-improvements2 2024-03-04 05:18:05 +01:00
path-references.cc libstore: convert dumpPath to a generator 2024-07-05 22:28:16 +00:00
path-references.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
path-regex.hh Disallow store path names that are . or .. (plus opt. -) 2024-05-02 19:34:38 +02:00
path-with-outputs.cc Fixing #7479 2023-08-18 11:44:00 -04:00
path-with-outputs.hh Make the Derived Path family of types inductive for dynamic derivations 2023-08-10 00:08:32 -04:00
path.cc Disallow store path names that are . or .. (plus opt. -) 2024-05-02 19:34:38 +02:00
path.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
pathlocks.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
pathlocks.hh util.{hh,cc}: Split out file-descriptor.{hh,cc} 2024-05-29 09:54:47 +02:00
platform.cc libstore: Start creating LocalDerivationGoal subclasses 2024-06-23 03:33:07 +00:00
profiles.cc util.{hh,cc}: Split out users.{hh,cc} 2024-05-29 11:01:34 +02:00
profiles.hh chore: rebrand Nix to Lix when it makes sense 2024-06-01 20:31:24 +02:00
realisation.cc libutil: de-callback-ify computeClosure 2024-05-07 14:35:20 +00:00
realisation.hh Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
remote-fs-accessor.cc libstore: rewrite narFromPath as generator 2024-07-15 21:50:25 +00:00
remote-fs-accessor.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
remote-store-connection.hh libstore: remove WriteConn::sink fields 2024-07-16 00:57:42 +00:00
remote-store.cc libstore: remove remaining sinkToSource uses 2024-07-16 01:50:16 +00:00
remote-store.hh libstore: rewrite narFromPath as generator 2024-07-15 21:50:25 +00:00
s3-binary-cache-store.cc libstore: make BinaryCacheStore::getFile return a source 2024-07-11 11:39:18 +00:00
s3-binary-cache-store.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
s3-binary-cache-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
s3.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
schema.sql schema.sql: add comment about hash being in base16 2022-06-01 14:59:57 +02:00
serve-protocol-impl.hh libstore: remove WriteConn::sink fields 2024-07-16 00:57:42 +00:00
serve-protocol.cc libstore: generatorize protocol serializers 2024-07-16 00:57:42 +00:00
serve-protocol.hh libstore: remove WriteConn::sink fields 2024-07-16 00:57:42 +00:00
sqlite.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
sqlite.hh Merge pull request #9925 from 9999years/fmt-cleanup 2024-03-09 07:00:13 -07:00
ssh-store-config.hh Merge pull request #6258 from obsidiansystems/gcc-bug-ergonomics 2024-03-04 05:24:33 +01:00
ssh-store.cc ssh-ng: Set log-fd for ssh to 4 by default 2024-04-26 19:04:06 +02:00
ssh-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
ssh.cc libutil: return Pid from startProcess, not pid_t 2024-06-23 11:52:49 +00:00
ssh.hh util.{hh,cc}: Split out processes.{hh,cc} 2024-05-29 11:01:34 +02:00
store-api.cc libstore: remove remaining sinkToSource uses 2024-07-16 01:50:16 +00:00
store-api.hh libstore: rewrite narFromPath as generator 2024-07-15 21:50:25 +00:00
store-cast.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
uds-remote-store.cc util.{hh,cc}: Split out unix-domain-socket.{hh,cc} 2024-05-29 11:01:34 +02:00
uds-remote-store.hh libstore: rewrite narFromPath as generator 2024-07-15 21:50:25 +00:00
uds-remote-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
worker-protocol-impl.hh libstore: remove WriteConn::sink fields 2024-07-16 00:57:42 +00:00
worker-protocol.cc libstore: generatorize protocol serializers 2024-07-16 00:57:42 +00:00
worker-protocol.hh libstore: remove WriteConn::sink fields 2024-07-16 00:57:42 +00:00