refactor(tvix): Use absl::btree_map for DerivationOutputs

This container implementation is much faster than std::map. We have
stuck to an ordered container because it's unclear whether the
accesses of this field (of which there are *many*) are actually
ordering dependent.

Also includes an Arbitrary implementation for absl::btree_map (for any
K, V that are also Arbitrary).

Change-Id: I04f58ca0ce32b9ae1759313b01508b0e44bae793
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1683
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
This commit is contained in:
Vincent Ambo 2020-08-06 03:01:57 +01:00 committed by tazjin
parent a41c3dedb1
commit 91bd7ce73a
4 changed files with 22 additions and 7 deletions

View file

@ -5,6 +5,7 @@
#include <string>
#include <vector>
#include <absl/container/btree_map.h>
#include <bits/stdint-intn.h>
#include <gc/gc_cpp.h>
#include <gtest/gtest.h>