tvl-depot/third_party/nix/tests
Vincent Ambo 1390827b9e refactor(3p/nix): Revert VectorBindings implementation
This reverts parts of the CLs splitting the backing implementation for
Bindings and moves back to only the BTreeMap-backed implementation.

Our evaluation has indicated that the Vector-backed implementation
does not match the performance of the plain array used upstream, and
in my view the complexity introduced by it is not worth the relatively
small (single-digit percentage) performance increase with a
pivot-point close to the number of attributes yielded by
stdenv.mkDerivation.

Going forward we will trial implementations of attribute sets backed
by HAMTs, and investigate other mechanisms of speeding up the language.

Some changes from the previous CLs are retained, for example the
removal of insert_or_assign and the passing of capacity.

Change-Id: I6eb4b075b453949583360755055c21a29d7ff642
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1172
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-07-15 00:16:06 +00:00
..
lang
plugins
add.sh
binary-cache.sh
brotli.sh
build-dry.sh
build-hook.nix
build-remote.sh
case-hack.sh
case.nar
check-refs.nix
check-refs.sh
check-reqs.nix
check-reqs.sh
check.nix
check.sh
common.sh.in Add 'third_party/nix/' from commit 'be66c7a6b24e3c3c6157fd37b86c7203d14acf10' 2020-05-17 15:52:38 +01:00
config.nix
dependencies.builder0.sh
dependencies.builder1.sh
dependencies.builder2.sh
dependencies.nix
dependencies.sh
dump-db.sh
export-graph.nix
export-graph.sh
export.sh
fetchGit.sh
fetchMercurial.sh
fetchurl.sh
filter-source.nix
filter-source.sh
fixed.builder1.sh
fixed.builder2.sh
fixed.nix
fixed.sh
function-trace.sh
gc-auto.sh
gc-concurrent.builder.sh
gc-concurrent.nix
gc-concurrent.sh
gc-concurrent2.builder.sh
gc-runtime.nix
gc-runtime.sh
gc.sh
hash-check.nix
hash.sh
import-derivation.nix
import-derivation.sh
init.sh
install-darwin.sh
lang.sh refactor(3p/nix): Revert VectorBindings implementation 2020-07-15 00:16:06 +00:00
linux-sandbox.sh
logging.sh
meson.build
misc.sh
multiple-outputs.nix
multiple-outputs.sh
nar-access.nix
nar-access.sh
nix-build.sh
nix-channel.sh
nix-copy-closure.nix
nix-copy-ssh.sh
nix-profile.sh
nix-shell.sh
optimise-store.sh
parallel.builder.sh
parallel.nix
parallel.sh
pass-as-file.sh
placeholders.sh
plugins.sh
post-hook.sh
pure-eval.nix
pure-eval.sh
push-to-store.sh
referrers.sh
remote-builds.nix
remote-store.sh
repair.sh
restricted.nix
restricted.sh
run.nix
run.sh
search.nix
search.sh
secure-drv-outputs.nix
secure-drv-outputs.sh
setuid.nix
shell.nix
shell.shebang.rb
shell.shebang.sh
signing.sh
simple.builder.sh
simple.nix
simple.sh
structured-attrs.nix
structured-attrs.sh
tarball.sh
timeout.nix
timeout.sh
user-envs.builder.sh
user-envs.nix
user-envs.sh